1. 程式人生 > >Linux->Mysql安裝調試

Linux->Mysql安裝調試

版本 info index 成功 relation 運行 pat root密碼 ext

環境準備

  1. mysql下載地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
  2. Linux系統版本:centos 7

安裝步驟

https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> service mysqld start

測試服務器是否安裝成功

到這步服務也起來了。。但是有個問題就是,我沒有設置密碼和用戶啊。這測試服務器可怎麽整?

通過啟動bin/mysql_safe 來啟動並修改密碼

1.停掉mysql服務器

[[email protected] init.d]# /etc/rc.d/init.d/mysql stop
Shutting down MySQL..[ OK ]

2.啟動mysqld_safe 指定 --skip-grant-tables

[[email protected] init.d]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

3.登錄mysql服務器

[[email protected] bin]# ./mysql -u[你的用戶名] -p[你的密碼]

4.修改mysql root密碼

shell>use mysql;
shell>update user set password=PASSWORD(‘[你的新密碼]‘) where user=‘root‘ and host=‘root‘ or host=‘localhost‘;
shell>flush privileges;

5.設置mysql可以遠程訪問

shell>user mysql;
shell>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘[你的root密碼]‘ WITH GRANT OPTION;
shell>flush privileges;

6.mysql數據庫用戶密碼已修改,現在重新關閉mysqld服務器,然後重新連接下,服務已經正式啟動了,接下來運行一下測試shell命令,看看服務器是否運行正常。

- 使用mysqladmin驗證服務器是否正在運行。

shell> bin/mysqladmin version
shell> bin/mysqladmin variables

如果無法連接到服務器,請指定-u root選項以root身份連接。如果您已經為root帳戶分配了密碼,則還需要在命令行中指定-p,並在出現提示時輸入密碼。例如:

shell> bin/mysqladmin -u root -p version
        Enter password: (enter root password here)

根據您的平臺和MySQL版本,mysqladmin版本的輸出略有不同,但應與之類似:

shell> bin/mysqladmin version
        mysqladmin  Ver 14.12 Distrib 5.7.20, for pc-linux-gnu on i686
        ...

        Server version          5.7.20
        Protocol version        10
        Connection              Localhost via UNIX socket
        UNIX socket             /var/lib/mysql/mysql.sock
        Uptime:                 14 days 5 hours 5 min 21 sec

        Threads: 1  Questions: 366  Slow queries: 0
        Opens: 0  Flush tables: 1  Open tables: 19
        Queries per second avg: 0.000

要查看還有什麽可以使用mysqladmin,請使用--help選項調用它。

驗證關閉服務器

驗證您是否可以關閉服務器(如果root帳戶已經有密碼,則包括-p選項)

shell> bin/mysqladmin -u root shutdown

驗證重新開啟服務器

驗證您是否可以重新啟動服務器。通過使用mysqld_safe或直接調用mysqld來執行此操作。例如:

shell> bin/mysqld_safe --user=mysql &

如果開啟失敗,請查閱:失敗原因

查看存在的數據庫

已安裝數據庫的列表可能有所不同,但始終包含最小的mysql和information_schema.

shell> bin/mysqlshow
        +--------------------+
        |     Databases      |
        +--------------------+
        | information_schema |
        | mysql              |
        | performance_schema |
        | sys                |
        +--------------------+

如果指定數據庫名稱,mysqlshow將顯示數據庫中的表的列表:

shell> bin/mysqlshow mysql
Database: mysql
+---------------------------+
|          Tables           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

執行sql命令

shell> bin/mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql
+------+-----------+-----------------------+
| User | Host      | plugin                |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+

mysql - MySQL命令行工具,

mysqladmin - 用於管理MySQL服務器的客戶端

mysqlshow - 顯示數據庫,表和列信息。

Linux->Mysql安裝調試