Linux系统下安装MYSQL

Linux系统下安装MYSQL

  • MYSQL安装
    • 安装步骤
    • 安装过程中遇到的问题解决方案
    • 拓展技能(修改MYSQL默认数据库存储路径)
    • 本人按照以上方法问题全部解决,不喜勿喷.

MYSQL安装

本人采用的是RPM包安装的MYSQL
Linux系统下安装MYSQL_第1张图片

安装步骤

本人是在CentOS7.6上安装的MYSQL.

# 首先卸载本地已有的MYSQL及mariadb数据库
rpm -qa | grep mysql

rpm -qa | grep mariadb

# 如果查询出有结果则卸载
# 例如:
rpm -e --nodeps mysql-community-server-5.7.23-1.el7.x86_64

# --nodeps 忽略依赖 

# 将MYSQL包上传至Linux服务器,例如我上传到了/root/mysql/目录下

cd /root/mysql/

# 依次安装	
# 如果安装失败可以加一下命令:	--nodeps 忽略依赖安装		--force 强制安装
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
rpm -ivh numactl-libs-2.0.9-6.el7_2.x86_64.rpm
rpm -ivh numactl-devel-2.0.9-6.el7_2.x86_64.rpm
rpm -ivh numactl-2.0.9-6.el7_2.x86_64.rpm
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh --nodeps mysql-community-server-5.7.23-1.el7.i686.rpm
# 到此MYSQL安装成功
# 启动MYSQL服务
service mysqld start

# 查看MYSQL初始密码
grep 'temporary password' /var/log/mysqld.log

# 登录MYSQL
mysql -uroot -p查看到的初始密码

# 修改密码,登录MYSQL成功之后执行一下sql语句:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
# 允许远程登录MYSQL,执行一下sql语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;FLUSH PRIVILEGES;
# 退出MYSQL
quit;
# 开发访问端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT


# 很重要的一步,解决数据库大小写问题
vi /etc/my.cnf
# 按i插入,然后到文件末尾加上一行键值对,然后保存退出
lower_case_table_names=1
# 重启MYSQL
service mysqld restart
# 重启之后登陆到MYSQL查看数据库参数,执行一下sql
show variables like'%case%';
# sql执行之后如果出现以下结果则代表大小写敏感已解决
	lower_case_file_system		OFF   
	lower_case_table_names		1     
	validate_password_mixed_case_count	1 
# 到此MYSQL安装全部完成

安装过程中遇到的问题解决方案

查询不到初始密码解决方案:

# 修改配置文件
vi /etc/my.cnf
# 在配置文件末尾加上一行键值对
# 跳过密码认证
skip-grant-tables
# 重启MYSQL服务
service mysqld restart
#登录MYSQL
mysql
# 修改密码
use mysql;
update user set password=password('密码') where user='root';
flush privileges;
# 如果上面那个修改密码的sql执行出错时可执行下面这条
update user set authentication_string=password('密码') where user='root';
flush privileges;
# 修改成功之后退出MYSQL
quit;

# 修改配置文件,取消跳过密码登录
vi /etc/my.cnf
# 删除掉之前加进去的 skip-grant-tables
# 保存配置文件之后重启服务就可以了
service mysqld restart

查询数据库参数出错解决方案:

# 当登录MYSQL查询数据库参数出现以下错误时的解决方案:
show variables like'%case%';
ERROR 1146 (42S02): Table 'performance_schema.session_variables' doesn't exist;

# 解决方案,退出MYSQL之后执行
ps -ef | grep mysql

/data/backup#mysql_upgrade -h192.168.22.22 -u root -p --force -P3306 sock=/data/backup/mysql3306.sock

service mysqld restart

# 重启完成之后登录MYSQL查询是否解决
show variables like'%case%';

拓展技能(修改MYSQL默认数据库存储路径)

# rpm 安装完成MYSQL之后的默认存储路径为:/var/lib/mysql/
# 因为该目录是挂载在/目录下的,由于装系统时只给/挂载点分了30G,为了避免后期存储空间不够,所以我要将数据存储在/home下

# 1.创建新的目录用来存储数据
# 例如我需要将数据存储在/home下
mkdir -vp /home/data/mysql/
# 将mysql原来的数据复制到新建目录并赋权
cp -R /var/lib/mysql/* /home/data/mysql/
chown mysql:mysql -R /home/data/mysql/
# 修改MYSQL配置文件
vi /etc/my.cnf
# 更改配置文件中的如下键值对
datadir=/home/data/mysql
socket=/home/data/mysql/mysql.sock
# 配置文件修改完成之后执行以下命令
setenforce 0

# 以上步骤做完之后基本就好了,但是启动之后本地却不能登录MYSQL
# 以下是解决方案
# 删除文件
rm -rf /var/lib/mysql/mysql.sock
# 建立软连接
ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
# 软连接命令:	ln -s 软连接指向的文件目录 软连接文件目录(该文件必须是不存在的)
# 最后重启MYSQL服务,就解决了.

本人按照以上方法问题全部解决,不喜勿喷.

你可能感兴趣的:(Linux)