清理不兼容数据库
centos通常自带mariadb
yum remove mariadb-libs -y
创建单独用户
为了寻找软件方便,所以安装在单独用户目录下
useradd mysql -s /sbin/nologin
检查
id mysql
软件、数据、日志目录分离
官方推荐/usr/local/
单独磁盘防止数据混淆
mkdir -p /data/3306
mkdir -p /app/database/
mkdir -p /dblog/
授权
chown -R mysql.mysql /app/ /data/ /dblog/
安装软件
cd /app/database
tar xf mysql-XXXXXXX
软连接一下
ln -s mysql-5.X.X-XXXX mysql
可以给个权限 chown -R mysql. *
环境变量
vim /etc/profile
export PATH=/app/database/mysql/bin:$PATH
sourse /etc/profile
初始化系统表
mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306
少数出错是没有 libaio-devel 或者3306下已经被初始化 需要rm -rf /data/3306/*
部分问题
mysqld --initialize会有两个问题,1.有初始密码,需要更改。2.有密码要求
5.6版本 /app/database/sql/scripts/mysql_install_db --user=mysql --basedir=/app/database/mysql --datadir=/data/3306
如果使用yum install 或者 zypper in 会自动初始化,不需要这些操作
配置文件
cat > /etc/my.cnf <
[mysqld]
user=mysql
basedir=/app/database/mysql\
datadir=/data/3306
server_id=6
port=3306
socket=/tmp/mysql.socket
[mysql]
socket=/tmp/mysql.socket
EOF
启动脚本
cd/app/database/mysql/support-
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
如果带有初始密码
mysqladmin -uroot -p password XXXX
初始密码