有时候我们借用别人的服务器,要使用5.5以上版本的mysql,但是别人已经安装了5.1版本的mysql。这个时候我们就要在自己的用户下面单独安装mysql了。
创建用户并下载mysql源码
假设我们已经创建好了一个用户formal
,下面我们使用这个用户单独安装mysql。点击这里下载mysql-5.6.37的源码。
创建目录并下载源码
cd /home/formal
mkdir bak mysql
将下载好的mysql-5.6.37.tar.gz放到bak
目录下
tar -zxvf mysql-5.6.37.tar.gz
cd mysql-5.6.37
编译并安装
cmake . -DCMAKE_INSTALL_PREFIX=/home/formal/mysql -DMYSQL_UNIX_ADDR=/home/formal/mysql/mysql_6603.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/formal/mysql/data -DMYSQL_USER=formal -DMYSQL_TCP_PORT=6603 -DWITHOUT_PARTITION_STORAGE_ENGINE=1
检查编译结果,0表示成功,其他标识失败。
make && make install
同样可以检查安装结果echo $?
。
配置mysql
cd /home/formal/mysql
cp support-files/my-medium.cnf ./my.cnf
配置my.cnf
vi my.cnf
# 在 [mysqld] 下面添加
basedir = /home/formal/mysql/
datadir = /home/formal/mysql/data
# 在 og-bin=mysql-bin 下面添加 防止磁盘被无限制占用
max_binlog_size=100M
expire_logs_days=7
创建系统数据库的表–指定了配置文件和用户
scripts/mysql_install_db --defaults-file=./my.cnf --user=formal
可以再次查看安装结果echo $?
。
修改环境变量
vi ~/.bashrc
# 添加
export PATH="/home/formal/mysql/bin:$PATH"
source ~/.bashrc
如果不生效,重新打开新的ssh连接。
启动与关闭mysql
# 从我们自己的配置文件启动mysql
/home/formal/mysql/bin/mysqld --defaults-file=/home/formal/mysql/my.cnf
# 关闭
/home/formal/mysql/bin/mysqladmin -uroot -p shutdown
后记
如果使用python import MySQLdb报错ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
,则sudo ln -s /home/formal/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18