一、添加用户和组
1.添加mysql用户组
# groupadd mysql
2.添加mysql用户
# useradd -g mysql -s /bin/nologin mysql -M
二、查看系统中是否安装mysql,如果安装需要卸载
# rpm -qa | grep mysql mysql-libs-5.1.73-3.el6_5.x86_64 # rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps
三、安装所需依赖包
# yum -y install wget gcc-c++ ncurses-devel cmake
四、安装
1.下载最新版本的MySQL
进入http://dev.mysql.com/downloads/mysql/,选择Source Code下的Generic Linux。选择带boost库的mysql下载。MySQL5.7对boost库有要求,选择带boost库的会避过一些坑。
# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz
2.解压并安装
# tar xf mysql-boost-5.7.18.tar.gz # cd mysql-5.7.18 # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0 # make && make install
MySQL将会安装到/usr/local/mysql目录。
3.进入安装目录并创建data目录
# cd /usr/local/mysql
# mkdir data
4.修改/usr/local/mysql目录权限
# chown -R mysql. /usr/local/mysql
5.初始化数据库
# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注:
1.之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃
2."--initialize"会生成一个随机密码(~/.mysql_secret),而"--initialize-insecure"不会生成密码
3.--datadir目标目录下不能有数据文件
4.使用--initialize参数后,一定要记住生成的密码,否则无法登陆数据库。
6.拷贝启动文件到/etc/init.d/下并重命令为mysqld
# /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
7.创建配置文件
安装完后发现没有my.cnf配置文件,手动创建个
# vim /etc/my.cnf [mysqld] basedir =/usr/local/mysql datadir =/usr/local/mysql/data port = 3306 socket = /tmp/mysql.sock [client] socket=/tmp/mysql.sock
8.启动mysql
# /etc/init.d/mysqld start
9.登录mysql
# /usr/local/mysql/bin/mysql -uroot -p系统生成的密码
10.修改root密码
mysql>set password = password('新密码'); mysql>flush privileges; mysql>exit
11.退出重新登录
# /usr/local/mysql/bin/mysql -uroot -p‘新密码’