1. 添加数据库运行时的用户身份
groupadd -r -g 306 mysql useradd -r -u 306 -g 306 mysql
2. 解压并放到指定位置/usr/local
tar -zxvf mariadb-5.5.46-linux-x86_64.tar.gz mv mariadb-5.5.46 && mv mariadb-5.5.46 /usr/local/mysql
修改权限确保安全
chown -R root:mysql /usr/local/mysql
3. 创建单独的数据库目录用于存放数据库!
mkdir /mysqldata chown -R mysql:mysql /mysqldata
4. 准备配置文件
cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
MySQL配置文件有 /etc/my.cnf ---> /etc/mysql/my.cnf ---->~./my.cnf
读取顺序从左到右,优先级依次递增! 即如果~./my.cnf中与前2个配置冲突,则以~./my.cnf为准
为什么有这么多配置文件?该如何配置呢?
MySQL进程可以运行在不同的用户身份下,通常也叫做不同的MySQL实例。
- 如果服务器上仅跑一个数据库实例,那么只需要准备/etc/my.cnf即可
- 如果有多个MySQL实例,那么在/etc/my.cnf下可配置全局选项,而~./my.cnf单独针对该实例配置
support-files中有很多的最佳实践的配置文件可供参考
5. 准备环境变量
export PATH=/usr/local/mysql/bin:$PATH
由于是通用二进制包,并没有写入环境变量。而MySQL中某些配置文件使用的是相对路径,并且为了方便地直接调用/usr/local/mysql/bin下的文件,建议添加mysql的目录到环境变量。这是临时修改,要重启也生效,请写入到/etc/profile或自行解决。
6. 初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysqldata
请注意一定要指明--basedir否则在初始化过程中会出现这样的:
FATAL ERROR: Could not find ./bin/my_print_defaults
因为初始化脚本用的是相对的basedir路径,当然了你也可以自行编辑一下脚本
7. 添加到服务启动,并且启动mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig -add mysqld service mysqld start
8. 修改/etc/my.cnf配置文件
vim /etc/my.cnf [mysqld] datadir=/mysqldata ......
9. 安全初始化
二进制包为我们提供了安全初始化脚本,在/usr/local/mysql/bin/mysql_secure_installation
由于之前已经加入环境变量,所以直接使用mysql_secure_installation即可启动。
请注意安全初始化,需要mysqld服务启动后才能正常进行!!
时间: 2024-10-25 11:40:34