二進制安裝
1.下載https://dev.mysql.com/downloads/mysql/5.6.html#downloads
2.官方文檔https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
[root@localhost local]# yum install libaio Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.huaweicloud.com * updates: mirrors.aliyun.com Package libaio-0.3.109-13.el7.x86_64 already installed and latest version Nothing to do [root@localhost local]# pwd /usr/local [root@localhost local]# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz [root@localhost local]# ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql [root@localhost local]groupadd mysql [root@localhost local] useradd -r -g mysql -s /bin/false mysql [root@localhost local] chown -R mysql:mysql mysql [root@localhost local]# cd mysql [root@localhost mysql]# ll total 40 drwxr-xr-x. 2 root root 4096 May 15 03:59 bin -rw-r--r--. 1 7161 31415 17987 Mar 4 21:40 COPYING drwxr-x---. 5 mysql mysql 4096 May 15 04:39 data drwxr-xr-x. 2 root root 55 May 15 03:59 docs drwxr-xr-x. 3 root root 4096 May 15 03:58 include drwxr-xr-x. 5 root root 229 May 15 03:59 lib drwxr-xr-x. 4 root root 30 May 15 03:59 man -rw-r--r--. 1 7161 31415 2478 Mar 4 21:40 README drwxr-xr-x. 28 root root 4096 May 15 03:59 share drwxr-xr-x. 2 root root 90 May 15 03:59 support-files [root@localhost mysql]bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@localhost mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data [root@localhost mysql]# cd support-files/ [root@localhost support-files]# vi /etc/my.cnf [root@localhost mysql]# cat /etc/my.cnf [mysqld] basedir=/usr/local/mysql/ datadir=/usr/local/mysql/data/
character_set_server = utf8 [root@localhost support-files]# cd .. [root@localhost mysql]# cd bin/ [root@localhost bin]# ./mysqld_safe --user=mysql & [1] 2942
啟動完畢
登錄,修改root密碼 設置遠程登錄
[root@localhost mysql]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.22 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> set password=password("root"); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set host='%' where user='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY '......' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> exit;
設置開機自啟
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql [root@localhost support-files]# chmod +x /etc/init.d/mysql [root@localhost support-files]# chkconfig --add mysql [root@localhost support-files]# chkconfig --list mysql
[root@localhost support-files]# service mysql stop
[root@localhost support-files]# service mysql start
配置環境變量:
[root@localhost local]# mysql -uroot -p -bash: mysql: command not found [root@localhost local]# ln -s /usr/local/mysql/bin/mysql /usr/bin [root@localhost local]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.22 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
mysql遠程登錄問題:
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set host = '%' where user = 'root'; Query OK, 0 rows affected (0.11 sec) Rows matched: 1 Changed: 0 Warnings: 0 mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | myuser | | % | root | | % | sec_user | | localhost | mysql.session | | localhost | mysql.sys | | localhost | sec_user | +-----------+---------------+ 6 rows in set (0.00 sec)
C:\Users\Administrator>mysql -u sec_user -h 192.168.222.13 -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 5.7.22 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | securities_master | +--------------------+ 2 rows in set (0.00 sec) mysql> use securities_master; Database changed mysql> show tables; +-----------------------------+ | Tables_in_securities_master | +-----------------------------+ | daily_price | | data_vendor | | exchange | | symbol | +-----------------------------+ 4 rows in set (0.00 sec) mysql>
注意:1.mysql默認的字符集是Latin ,需要修改my.cnf 設置為utf-8,
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
並且重啟,驗證
mysql> show variables like 'character_set_database'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+ 1 row in set (0.01 sec) mysql> show variables like 'character%'; +--------------------------+----------------------------------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64/share/charsets/ | +--------------------------+----------------------------------------------------------------+
2.開機啟動關閉防火牆
Centos7的防火牆用firewalld.service,而不是iptable……
systemctl stop firewalld.service
systemctl disable firewalld.service
3.mysql創建用戶
1)MySQL創建新用戶以及ERROR 1396 (HY000)問題解決
Assume the user is there, so drop the user
After deleting the user, there is need to flush the mysql privileges
Now create the user.
flush privileges;(刷新系統權限表)
每次建完用戶后執行flush privileges命令
刪除用戶 drop user XX;
4.忘記密碼進行更改
1)、關閉mysql
service mysqld stop //linux下使用
net stop mysql //window下使用
2)、屏蔽權限
mysqld_safe --skip-grant-table //linux下使用
mysqld --skip-grant-table //window下使用
3.)新開一個窗口進行密碼修改
4.存在空密碼新安裝的
1)select host,user,password from user;查看是否空密碼
2).關閉mysql
# service mysqld stop
3).屏蔽權限
# mysqld_safe --skip-grant-table
4)新開起一個終端輸入
# mysql -u root mysql
mysql> delete from user where USER=''; //刪除空密碼
mysql> FLUSH PRIVILEGES;
mysql> \q
參考文檔:
https://blog.csdn.net/qq_37995908/article/details/79092363
https://blog.csdn.net/ctypyb2002/article/details/79757070
https://blog.csdn.net/mengfei86/article/details/51189624