Linux下yum安装MySQL-阿里云开发者社区

开发者社区> 数据库> 正文

Linux下yum安装MySQL

简介: Linux下yum安装MySQL

1.yum list mysql* 查看服务器是否安装了MySQL
image
2.yum remove mysql mysql-server mysql-libs compat-mysql51 移除已安装的MySQL
image
image
image
yum list mysql* 再次检查
image
3.查看是否还有mysql软件
rpm -qa|grep mysql
image
已经卸载完成
4.安装MySQL客户端*
①下载MySQL官网的yum仓库:
https://dev.mysql.com/downloads/repo/yum/
image
②从本机目录安装MySQL
yum localinstall /home/localinstall mysql80-community-release-el6-1.noarch.rpm
image
image
③查看yum仓库是否成功添加
yum repolist enabled |grep "mysql.*-community.*"
image
④安装MySQL
yum install mysql-community-server
image
安装MySQL80报错
⑤尝试换成MySQL57
MySQL默认会安装最新版的也就是80,要安装57需要修改文件
vim /etc/yum.repos.d/mysql-community.repo
image
image
⑥再次安装MySQL
yum install mysql-community-server
image
image
image
安装成功了。。。
⑦启动MySQL服务
service mysqld start
image
5.数据库字符集设置,因为开发的时候一般都是UTF-8,MySQL默认是latin1(ISO_8859_1),如果不保持一致,后面中文字符肯定会乱码
在[mysqld]下加入配置参数 character-set-server=utf8
image
保存退出后重启MySQL服务
image
6.设置MySQL服务开机启动,避免服务器重启后,重启MySQL服务
chkconfig --add mysqld
chkconfig mysqld on
查看开机启动设置是否成功
chkconfig --list | grep mysql*
image
7.登录MySQL*
image
用工具登录MySQL会报错,这个错一般是由密码错误引起的,需要重置密码
vim /etc/my.cnf 文件中添加跳过密码校验配置 skip-grant-tables
image
保存退出后重启服务
按一般解决方案是:进入mysql命令模式:mysql -u root mysql
UPDATE user SET password=PASSWORD('123') where USER='root';
但是提示没有password字段。。。
解决方案:password改为authentication_string
UPDATE user SET authentication_string=PASSWORD('123') where USER='root';
image
修改后刷新MySQL的系统权限相关表 FLUSH PRIVILEGES;
image
退出MySQL
vim /etc/my.cnf 删除配置 skip-grant-tables
重启MySQL服务,mysql -uroot -p123
image
登录成功
8.设置MySQL忽略大小写,这个地方巨坑(举个例子,默认是区分大小写,table和Table是两张表)
vim /etc/my.conf 添加配置 lower_case_table_names=1
image
9.默认密码校验太复杂,设置简单密码报错
image
SHOW VARIABLES LIKE 'validate_password%'; 查看默认配置
image
image
默认值是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
比如我想把root密码改为123,就需要修改两个全局参数:validate_password_policy和validate_password_length
①修改validate_password_policy参数的值:set global validate_password_policy=0;
image
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。
②修改validate_password_length参数的值:set global validate_password_length=3;
image
你会发现明明修改的是3,怎么会变成4呢?
这是因为validate_password_length参数默认为8,它有最小值的限制,最小值为:
validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)
其中,
validate_password_number_count指定了密码中数据的长度,
validate_password_special_char_count指定了密码中特殊字符的长度,
validate_password_mixed_case_count指定了密码中大小字母的长度。
这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。
所以这里我先把validate_password_special_char_count设为0,这里的validate_password_length最小值就是3了
image
再重新修改validate_password_length的值为3
image
设置成功了,接下来我把密码改为123:ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
image
root密码重置成功
image
10.Navicat for MySQL连接MySQL报错
image
解决方法:
在本机登入MySQL后,更改MySQL数据库里的"user"表里的"host"项,从"localhost"改为'%'

[root@localhost local]# mysql -uroot -p123
mysql> show databases;
mysql> use mysql
mysql> show tables;
mysql> select host from user where user='root';
mysql> update user set host='%' where user='root';
mysql> select host from user where user='root';

image
image
image
image
重启MySQL服务

service mysqld stop
service mysqld start

重新连接Navicat for MySQL:
image
11.导入sql文件,source命令
image
连接MySQL数据库,导入sql文件

[root@localhost /]# mysql -uroot -p123
mysql> source /pinyougoudb.sql

image
image
导入成功
结束

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章