linux上部署MySQL
1、在 root 目录下,安装 mysql 和 mysql-devel
yum install mysql
yum install mysql-devel
2、安装mysql-server
wget http://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
yum install mysql-community-server
3、重启mysql服务
service mysqld restart
4、设置密码
# 登录mysql并输入密码
mysql -u root -p
# mysql8 修改密码方式
alter user 'root'@'localhost' identified by '这里填你要的密码';
1.mysql8初次安装后,需要先通过cat /var/log/mysqld.log | grep password 命令查看密码,修改密码时,需要 符合长度,且含有数字、小写或大写字母、特殊字符
2.无需重启数据库即可生效(且mariadb自动会被替换,不再生效)
5、进入 /etc/my.cnf 配置编码规则(无需配置的话,可跳过本步骤)
[mysql]
default-character-set =utf8
6、配置远程连接授权设置(配置后即可用navicat建立连接),至此完成安装!
# 如果要授权的用户是新用户,而不是root账户,则要先新建用户;如果要授权的是root用户,则跳过此命令
CREATE USER '这里填你要新建的账户'@localhost IDENTIFIED BY '这里填要新建账户的密码';
# 授权,以root账户为例
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
7、使用 navicat 连接时报错
报错:1045 - Access denied for user 'root'@'xxx'(using password: YES),解决方式见上述步骤6
报错:1130 - Host 'xxx' is not allowed to connect to this MySQL server,解决方式见下第4点_过程遇到的问题
修改密码
1、修改mysql配置文件
vi /etc/my.cnf
在配置文件中添加skip-grant-tables,保存退出
2、重启mysql
service mysqld restart
3、登录数据库
mysql
4、选择库
use mysql;
5、置空root密码
update user set authentication_string='' where user='root' and host='localhost';
6、刷新权限
flush privileges;
7、退出数据库
exit;
8、删除刚才添加的skip-grant-tables
service mysqld restart
9、使用空密码(啥也不输入,直接enter)登录数据库
mysql -uroot -p
10、先要修改密码,才能查看密码策略
密码策略默认为8为包含数字,大小写,特殊字符
alter user 'root'@'%' identified by '1234@Cjy';
查看权限
show variables like 'validate_password%';
set global validate_password.policy=LOW;
set global validate_password.length=6;
最后修改简单密码
alter user 'root'@'%' identified by '123456';
开启远程访问权限
创建远程用户并授予权限
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to root@'%' with grant option;
flush privileges;