创建用户组并且添加一个用户
groupadd mysql
创建一个用户,不允许登陆和不创主目录
useradd -s /sbin/nologin -g mysql -M mysql
检查创建用户
tail -1 /etc/passwd
安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz
tar -zxvf mysql-5.6.37.tar.gz
cd mysql-5.6.37
编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
安装
make && make install
修改/usr/local/mysql权限
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
进入mysql目录下,对mysql数据库进行初始化:
./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
拷贝服务脚本到init.d目录:
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
cp support-files/my-default.cnf /etc/my.cnf
执行初始化配置脚本,创建系统自带的数据库和表,注意配置文件的路径:
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
赋予权限
chmod +x /etc/init.d/mysql
启动mysql
service mysql start
或者
/etc/init.d/mysql start
如果遇到启动错误,执行以下命令
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
修改my.cnf
vim /etc/my.cnf
[mysql]
default-character-set=utf8 # 设置mysql客户端默认字符集
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
port = 3306 #设置3306端口
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql # 设置mysql的安装目录
datadir=/usr/local/mysql/data # 设置mysql数据库的数据的存放目录
max_connections=200 # 允许最大连接数
character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎
lower_case_table_name=1
max_allowed_packet=16M
保存后再次执行启动命令
service mysql start
MySQL5.6.x启动成功后,root默认没有密码,我们需要设置root密码。设置之前,我们需要先设置PATH,要不,不能直接调用mysql,操作如下:
修改/etc/profile文件
vim /etc/profile
在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
让配置立即生效
source /etc/profile
登陆测试,默认是没有密码,直接回车就可进入
设置mysql密码(这一步可以先不设置),命令如下:
/usr/local/mysql/bin/mysqladmin -uroot -p password '你的密码'
验证mysql安装路径
ls -ld /usr/local/mysql/
到这里MySQL编译安装就完成了