mysql版本:5.7.28
linux系统 centos 7.6
安装(这里为编译安装): (这里的安装目录为/usr/local/mysql)
创建mysql用户组: groupadd mysql
创建非登入用户: user add -M -s /usr/sbin/nologin mysql -g mysql
安装依赖:yum install cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl-devel automake autoconf make libtool bison-devel libaio-devel -y
mysql下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28.tar.gz
boost下载地址:http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
解压mysql以及boost tar xf mysql-5.7.28.tar.gz
tar xf boost_1_59_0.tar.gz
进入mysql-5.7.28.tar.gz (cd /usr/local/mysql/mysql-5.7.28.tar.gz ) 并且进行编译:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=yes -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_BOOST=/usr/local/boost_1_59_0
编译完之后进行安装: make && make install
修改用户权限: chown -R mysql.mysql /usr/local/mysql/
如果只是进行单例模式安装的话,接下来就直接进行初始化: ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
环境变量配置: cp /usr/local/mysql/bin/mysql /usr/bin
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
删除默认配置: rm -rf /etc/my.cnf
登入myslq: myql -uroot -p 然后输入密码(密码为初始化的时候,root@localhost后面的字符串)
登入之后进行密码修改:set password=password('123456');
到此单例子模式安装完成。
如果需要单台服务器配置多例模式,则在修改用户权限之后,不要急着初始化
先新建需要配置多例的数据存放位置,例如配置端口为3307,3308多例模式
则 : mkdir -p {3307,3308}/data
cd /usr/local/mysql/3307/
vi 3307.cnf
按i进行配置文件编辑:[mysqld]
sport = 3307
socket = /tmp/mysql3307.sock
datadir = /usr/local/mysql/3307/data
basedir = /usr/local/mysql/3308/data
编辑完成之后进行:wq保存退出
同样的进入3308目录vi 3308.cnf,然后编辑完配置文件,内容和3307.cnf一样,只是将3307改为3308即可,然后也保存并且退出
修改目录权限:chown -R mysql.mysql 330*
分别初始化mysql3307和3308:
/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/3307/3307.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/3307/data/ --initialize
/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/3308/3308.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/3308/data/ --initialize
初始化完成之后,记住相应的密码
修改启动文件,cd /etc/init.d/
cp mysql mysql3307
cp mysql mysql3308
再进行两个启动文件的编辑:vim mysql3307 进入之后,找到basedir和datadir并进行如下配置:(按下esc之后再按/basedir或者datadir进行搜索)
再按下esc之后再按/mysqld_safa进行搜索找到如下位置并且添加 --defaults-file = '/usr/local/mysql/3307/3307.cnf'
编辑完成之后,进行:wq保存并且退出
之后就可以分别启动3307和3308两个端口的多例mysql了
cd /etc/init.d/
./mysql3307 start
3308的启动方式和3307的一样,分别启动完成两个启动文件之后,就可以netstat -nltp 查看
表示已经启动成功,启动成功之后,登入:mysql -uroot -P3307 -h127.0.0.1 -p 输入初始化之后保存下来的默认密码,然后登入进去之后,进行密码修改即可:set password=password('123456')
3308的登入以及密码修改和上面3307端口的一样,exit退出3307之后,然后进行3308的登入即可