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