运行环境:
Ubuntu 16.04.3 LTS
1、添加mysql用户组并添加mysql用户,并且不允许登录
groupadd mysqluseradd -r -g mysql -s /bin/false -M mysql
2、下载mysql源码包,此处下载为mysql5.7.20
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
解压
tar -zxvf mysql-5.7.20.tar.gz
cd mysql-5.7.20
3、更新环境
apt-get update
apt-get upgrade
安装gcc、bison、cmake
apt-get install gcc
apt-get install bison
apt-get install cmake
4、安装
4.1、创建安装路径以及数据存储路径
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
4.2、cmake配置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-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 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/mysql/mysql-boost \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
错误1:ubuntu mysql Could NOT find Git
apt-get install git
另外需要rm CMakeCache.txt
错误2:No CMAKE_CXX_COMPILER could be found
apt-get install g++
错误3:Curses library not found
apt-get install libncurses5-dev
另外需要rm CMakeCache.txt
错误4:g++: internal compiler error: Killed (program cc1plus)
主要原因大体上是因为内存不足,有点坑 临时使用交换分区来解决吧
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
安装完成之后,删除创建的交换分区
sudo swapoff /swapfile
sudo rm /swapfile
4.3、make && make install
5、权限限定
chown -R mysql: /usr/local/mysql
6、初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化完毕,信息最后一行为用户的密码A
7、启动
/usr/local/mysql/bin/mysqld_safe
8、修改数据库初始用户密码
打开另外一个ssh窗口
cd /usr/local/mysql/bin
./mysql -uroot -p'Zz3.
修改密码
alter user 'root'@'localhost' identified by '123456';
9、设置mysql配置文件
mv /etc/my.cnf /etc/my.cnf.bak //把已有的配置重命名
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注意:最新版本开始已经没有my-default.cnf这个文件了,因此可以从低版本中拷贝一个重命名my.cnf放到路径/etc/my.cnf
10、把mysql加入到系统环境变量中
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
11、加入到系统服务
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
sudo chmod +x /etc/init.d/mysql
update-rc.d mysql defaults
查看
sysv-rc-conf
sysv-rc-conf --list
sysv-rc-conf --list mysql
根据提示:进行安装update-rc.d、sysv-rc-conf
注:第11步操作主要是加入到系统服务,当系统重启后,它会随着系统自动重启,无需手动操作,同时你可以使用以下命令操作
service mysql start //启动
service mysql stop //停止
service mysql restart //重启
最后,重启系统,reboot