安装必需的工具
比如cmake、gcc、g++、git
CentOS使用下面的命令:
yum install cmake gcc g++ git
Ubuntu使用下面的命令:
apt-get install cmake gcc g++ git
或者
#centos yum groupinstall "Development Tools" #ubuntu apt-get install -y build-essential
安装ncurses
CentOS使用下面的命令:
yum install ncurses-devel
Ubuntu使用下面的命令:
apt-get install libncurses5-dev
安装openssl和libssl_dev
CentOS使用下面的命令:
yum install openssl libssl_dev
Ubuntu使用下面的命令:
apt-get install openssl libssl_dev
下载mysql源码
cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz tar -zxf mysql-5.6.44.tar.gz cd mysql-5.6.44/
编译配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DWITH_SSL=yes -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -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
考虑到mysql的make操作需要很长时间,如果是多核处理器,建议使用多核同时进行编译:
# 开启4个job进行make操作 make -j 4 # 编译完成后进行安装 make install
常见问题的解决方案
是我在安装mysql的时候,经常出现的错误,以及相关解决方案。
拷贝相关配置文件
#进入到安装目录 cd /usr/local/mysql/ #创建mysql用户和用户组 useradd mysql #将安装目录的所属用户组和用户改为mysql chown -R mysql:mysql /usr/local/mysql/ #改变data目录的读写权限 chmod 764 -R /usr/local/mysql/data/ #拷贝mysql配置文件 cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #添加mysql到init.d中,使得可以通过service mysqld start|stop|restart来管理mysql cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改配置文件
vi /etc/my.cnf #修改配置 basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 #server_id = ..... #socket = ..... #编辑完之后,保存并退出
初始化并启动数据库
#初始化数据库,--user表示使用前面的mysql用户 /usr/local/mysql/scripts/mysql_install_db --user=mysql #启动数据库 service mysqld start #查看数据库是否启动 lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 23551 mysql 10u IPv6 167754 0t0 TCP *:mysql (LISTEN)
添加mysql/bin到全局变量PATH中
#编辑~/.bash_profile #在PATH后面增加/usr/local/mysql/bin #比如之前是PATH=$PATH:$HOME/bin:/usr/local/node/bin #那么此时在最后面追加 PATH=$PATH:$HOME/bin:/usr/local/node/bin:/usr/local/mysql/bin export PATH #保存并退出 source ~/.bash_profile
登录到MySQL
#初次登录数据库时,并没有为root用户设置密码,即密码为空 mysql -uroot -p
修改mysql的root用户密码
#将root用户的密码改为123456 mysqladmin -u root password "123456" #使用新密码登录 mysql -h localhost -uroot -p123456