Linux 安装 MySql
2、Linux 安装 MySql
2.0、准备工作
2.0.1、下载mysql
- **下载地址:**https://downloads.mysql.com/archives/community/
2.1、安装mysql
2.1.1、上传至服务器-解压
> tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
2.1.2、将解压后的文件复制到/usr/local 目录下,并命名为 mysql
> mv ./mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
> mkdir data # 创建data目录
2.1.3、创建用户和组
> groupadd mysql # 新建组mysql
> useradd -r -g mysql mysql # 创建用户mysql 添加到 mysql组中
2.1.4、将安装目录所有者及所属组改为mysql
> chown -R mysql.mysql /usr/local/mysql
2.1.4、初始化
> yum install libaio #安装依赖包
> /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize # 初始化
重点:初始化完成,会随机生成一个 root用户登入密码,记得保存
2.1.4、配置 my.cnf
注意:在/etc/ 下没有 my.cnf 配置文件,需要手动创建
> vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2.1.5、将mysql加入到服务中方便命令启动
> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
2.1.6、开机启动
> chkconfig mysql on # 开机启动
2.1.6、启动服务
> service mysql start
2.1.7、配置环境变量
> vim /etc/profile
> source /etc/profile # 刷新配置
2.1.8、登入mysql
注意:前面配置了免密登入,此时 不需要输入密码即可登入,root 用户否则需要输入 初始化时候生成的密码。
> mysql -uroot -p
2.1.9、root 用户 初次使用 密码登入遇到问题
修改密码:
> ALTER USER USER() IDENTIFIED BY '密码';
2.2.10、配置远程登入
注意:mysql 默认 只能本地用户登入(localhost),修改为 % 远程登入
> use mysql; # 切换 到 mysql 库
> select host from user where user='root'; # 查询 root 用户 链接地址
> update user set host='%' where user='root'; # 将 host 改为 ‘%’
> flush privileges; # 立即生效
遇到问题
1、在配置主从复制的时候MySQL启动失败
它会在 安装目录data下生成一个 *.err 的错误日志
查找错误日志:
find / -name *.err
unknown variable ‘innodb_support_xa=1’
解决:删除innodb_support_xa配置。
innodb_support_xa系统变量也被移除,该变量支持XA事务中的两阶段提交。但是在8.0版本中,已经默认支持XA事务两阶段提交
2、启动MySQL报错
mysql: error while loading shared libraries: libtinfo.so.5:
cannot open shared object file: No such file or directory
- 解决:
yum install libncurses* -y