天天看点

linux -------mysql5.7安装

linux -------mysql5.7安装

检查是否安装mysql

rpm -q mysql ;
           

1)安装MySQL YUM资源库

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
           

2)安装MySQL 5.7

yum install -y mysql-community-server
           

3)启动MySQL服务器和MySQL的自动启动

systemctl start mysqld.service
systemctl enable mysqld.service
           

4)初始密码查看

cat /var/log/mysqld.log|grep 'A temporary password'
           

5)登陆

mysql -p
    输入密码
           

6)数据库操作

使用随机生产的密码登录到服务端后,必须马上修改密码,不然会报如下错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

有两种方法解决上面的报错(如下的123456是修改后的密码):

mysql> set password=password("123456");
或者
    mysql> alter user 'root'@'localhost' identified by '123456';
show databases;
           

7)设置密码安全策略 这个与Mysql 密码安全策略validate_password_policy的值有关,validate_password_policy可以取0、1、2三个值: 0弱,1中等,2强密码

set global validate_password_policy=0;
   set global validate_password_length=1;
           

8)mysql5.7之后的数据库里mysql.user表里已经没有password这个字段了,password字段改成了authentication_string。所以修改密码的命令如下:

alter user 'root'@'localhost' identified by 'onestep0128';
           

9)刷新权限

flush privileges;
           

10)查看版本

select version();
           

11)查看字符集

show variables like "%character%";
show variables like "%collation%";
exit;
           

12)修改字符集

cat /etc/my.cnf
vim /etc/my.cnf
character-set-server=utf8  
           

13)重启

systemctl restart mysqld.service
           

14)登陆再次查看

mysql -p
 输入密码
 show variables like "%character%";
 show variables like "%collation%";
           

15)允许远程链接

//允许所有访问

update user set host='%' where host='localhost';
           

当然也可以只允许一些ip访问,或者ip段访问:GRANT ALL PRIVILEGES ON . TO ‘root’@‘182.61..’ IDENTIFIED BY ‘password’ WITH GRANT OPTION; //允许182.61段在root账号登录

建表问题解决:Expression #1 of ORDER BY clause is not in GROUP BY clause 。。。。。

到 /etc/my.cnf 中修改配置

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
           

修改后,导入数据时,时间为空也会出现问题

mysql --help | grep my.cnf  查看警告
 sql_mode='' 设置这个就OK
           

参考资料:https://www.cnblogs.com/kevingrace/p/8340690.html

继续阅读