安装之前
# whereis mysql
mysql: /usr/lib64/mysql /usr/share/mysql
安装过mysql的centos
# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql
安装
1.官方安装文档
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
2.官方下载网址
https://dev.mysql.com/downloads/repo/yum/
3.官方下载源
https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
4.下载mysql文件
#wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
5.安装rpm
#sudo rpm -Uvh
mysql80-community-release-el7-3.noarch.rpm
# sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
warning: mysql80-community-release-el7-3.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql80-community-release-el7-3 ################################# [100%]
6.安装mysql服务端
# yum install -y mysql-community-server
----》
Installed:
mysql-community-libs.x86_64 0:8.0.16-1.el7 mysql-community-libs-compat.x86_64 0:8.0.16-1.el7 mysql-community-server.x86_64 0:8.0.16-1.el7
Dependency Installed:
libaio.x86_64 0:0.3.109-13.el7 mysql-community-client.x86_64 0:8.0.16-1.el7 mysql-community-common.x86_64 0:8.0.16-1.el7
Dependency Updated:
postfix.x86_64 2:2.10.1-7.el7
Replaced:
mariadb-libs.x86_64 1:5.5.56-2.el7
Complete!
7.检验
# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
鈼mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
8.启动
# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
9.检验
# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2019-05-06 09:30:45 CST; 1min 42s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 13009 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 13077 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─13077 /usr/sbin/mysqld
May 06 09:30:36 iZ2ze1tmwedluuikdl1x7yZ systemd[1]: Starting MySQL Server...
May 06 09:30:45 iZ2ze1tmwedluuikdl1x7yZ systemd[1]: Started MySQL Server.
10.开放mysql端口3306
添加端口 # firewall-cmd --permanent --zone=public --add-port=3306/tcp
查看所有打开的端口: firewall-cmd --zone=public --list-ports
启动: systemctl start firewalld
更新防火墙规则: # firewall-cmd --reload
11.登陆
# mysql -uroot -p
若需要输入密码,mysql在安装时,root账号会有初始密码。他在/var/log/mysqld.log中。A temporary password is generated for root@localhost: #pX2%Sh?0lyx 。 【 #pX2%Sh?0lyx】为初始密码
执行SELECT * FROM `information_schema`.`TABLES` LIMIT 0, 1000;
会报
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
的错误。必须修改临时密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'WOSHIMIMA';
Query OK, 0 rows affected (0.02 sec)
12.创建用户并授权
mysql> CREATE USER 'ulogin'@'%' IDENTIFIED BY 'woshimima';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL ON *.* TO 'ulogin'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql8.0后的用户加密方式是caching_sha2_password。sqlyog,native等工具用的都是mysql_native_password。
会报错:Client does not support authentication protocol
所以要修改加密方式,如下:
mysql> ALTER USER 'ulogin'@'%' IDENTIFIED BY 'woshimima' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'ulogin'@'%' IDENTIFIED WITH mysql_native_password BY 'woshimima';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
13.结束
再次连接成功