安装软件MySQL8最新版本,环境:阿里云 Centos7.7 64位
基本命令
安装 : yum install mysql-community-server
启动 : service mysqld start/restart
停止 : service mysqld stop
查看状态: service mysqld status
进入/usr/local/
目录中
cd /usr/local/
下载mysql8
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装yum源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
更新yum源
yum clean all
编译
yum makecache
创建Mysql账户
groupadd mysql
分组
useradd -g mysql mysql
安装mysql
yum install mysql-community-server
启动MySQL
systemctl start mysqld
查看初始化密码
cat /var/log/mysqld.log | grep password
登录MySQL
mysql -u root -p
修改初始化密码(密码一定要大小写字母+数字+符号,如:Aa-123456789)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'oH!DytmzSa!^7dgf';
远程设置
use mysql;
设置所有用户可以连接
update user set host='%' where user='root';
刷新权限
FLUSH PRIVILEGES;
用工具测试,发现已经可以正常连接
允许任何主机访问数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
报错:You are not allowed to create a user with GRANT
原因:mysql8.0
以前的版本可以使用grant
在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,然后再授权,解决办法如下:
使用mysql 数据库
use mysql;
特定用户的host 修改
update user set host='%' where user='root';
指定用户的授权
grant all privileges on test.* to root@'%'
刷新权限
FLUSH PRIVILEGES;
指向user
use mysql;
查看
select user,host from user;
允许szx用户使用oH!DytmzSa!^7dgf密码从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'szx'@'%'IDENTIFIED BY 'oH!DytmzSa!^7dgf' WITH GRANT OPTION;
允许用户szx从ip为192.168.1.1
的主机连接到mysql服务器,并使用oH!DytmzSa!^7dgf
作为密码
GRANT ALL PRIVILEGES ON *.* TO 'szx'@'192.168.1.1'IDENTIFIED BY 'oH!DytmzSa!^7dgf' WITH GRANT OPTION;