手动安装MySQL
1. 环境准备
1.2 准备环境
系统: CentOS8
安装包: mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 点击下载
1.2 清理环境
清理之前安装的软件或者有冲突的软件包
# rpm -qa |grep mariadb # rpm -qa |grep mysql //删除命令 # dnf remove xxxxxx
1.3 安装依赖
dnf install libaio-devel
2. 添加mysql用户与用户组
2.1 添加mysql
useradd mysql -s /sbin/nologin
2.2 检查是否添加成功
# id mysql uid=1001(mysql) gid=1004(mysql) groups=1004(mysql)
3. 设置mysql目录
3.1 分别设置mysql安装目录、数据存放目录、日志存放目录
# mkdir -p /mysql/app /mysql/data /mysql/binlog
//添加mysql用户权限
# chown mysql.mysql -R /mysql
3.2 将tar文件释放到app目录
tar xvf mysqlmysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /mysql/app
//为了方便操作可以将解压目录重命名,或者放到app目录,当然软链接也可以。我选择放到根目录
# mv /mysql/app/mysqlmysql-5.7.28-linux-glibc2.12-x86_64/* /mysql/app
4. 设置环境变量
//编辑 /etc/profile文件,在末尾添加 export PATH=$PATH:/mysql/app/bin
更新环境变量: source /etc/profile
5. 初始化系统表
mysqld --initialize-insecure --user=mysql --basedir=/mysql/app --datadir=/mysql/data
//如果不能正常执行,看文章末尾 排错。
6. 编写配置文件
添加配置文件/etc/my.cnf
[mysqld] user=mysql basedir=/mysql/app datadir=/mysql/data server_id=8 port=3306 socket=/tmp/mysql.sock [mysql] socket=/tmp/mysql.sock
7. 启动mysqld
7.1 添加mysqld服务
cp /mysql/app/support-file/mysql.server /etc/init.d/mysqld
7.2 启动msyqld服务
# service mysqld start
7.3 也可以使用systemd启动mysqld
# chkconfig --add mysqld
# systemctl start mysqld
//chkconfig --add在CentOS8中会自动添加chkconfig xxxxx on --设置服务开机启动 chkconfig xxxxx off --取法服务开机启动
8. 登陆mysql
初始化完成后,默认使用root用户并且是空密码登陆。
直接敲mysql,可以通过 socket登陆
也可以通过mysqladmin修改密码
# mysqladmin -u xxxx -p password xxxxxx
排错
问题1: not find libncurses.so.5
解决: ln -s /lib64/libncurses.so.5 /lib64/libncurses.so.6
(造成这个问题的原因是CentOS8中找不到这个文件 ,可能是由于这个文件被新的文件替换掉了,所以我将找到的so.6连接到了so.5,还有其它几个一样的问题,都是通过将6连接到5解决)