Centos环境下mysql源码编译安装
生活随笔
收集整理的这篇文章主要介绍了
Centos环境下mysql源码编译安装
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
##从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。 wget --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.12.tar.gz tar -zxvf cmake-2.8.12.tar.gz cd cmake-2.8.12 ./bootstrap && make && make install
mkdir -p /usr/local/mysql
tar -zxvf mysql-5.6.37.tar.gz cd mysql-5.6.37 /usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/data2/mysqldb -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3308 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0 rm CMakeCache.txt #试验删不删除的影响,试过没删除也没影响 make make install
mkdir -p /data2/mysqldb chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /data2/mysqldb
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf chown mysql:mysql /etc/my.cnf ##my.cnf重新配置参数,编译阶段的参数没写到这个配置文件去。 #文件配置 vim /etc/my.cnf basedir =/usr/local/mysql datadir =/data2/mysqldb port =3308 # server_id = ..... socket =/usr/local/mysql/data/mysql.sock
[mysqld_safe] log-error=/usr/local/mysql/log/mysqld.log pid-file=/usr/local/mysql/run/mysqld/mysqld.pid
default-storage-engine=MyISAM server-id = 1 innodb_buffer_pool_size = 21M innodb_additional_mem_pool_size = 2M innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50
#Because the MySQL server, mysqld, must access the data directory when it runs later, you should either run mysql_install_db from the same system account that will be used for running mysqld /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data2/mysqldb
##指定配置文件 ##/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data2/mysqldb --defaults-file=/usr/local/mysql/my.cnf
mkdir -p /usr/local/mysql/log chown mysql:mysql /usr/local/mysql/log/ mkdir -p /usr/local/mysql/run/mysqld/ chown -R mysql:mysql /usr/local/mysql/run/mysqld/ touch /usr/local/mysql/log/mysqld.log chown mysql:mysql /usr/local/mysql/log/mysqld.log
#To start a second server, provide different --socket and --port option values, and pass a --datadir=dir_name option to mysqld_safe so that the server uses a different data directory. mysqld_safe --socket=file_name --port=port_number --defaults-file=/usr/local/mysql/my.cnf
#安全模式启动 /usr/local/mysql/bin/mysqld_safe --socket=/usr/local/mysql/data/mysql.sock --port=3308 --defaults-file=/usr/local/mysql/my.cnf
#开启mysql服务 /usr/local/mysql/support-files/mysql.server start
#密码为空,如果能登陆上,则安装成功 /usr/local/mysql/bin/mysql -u root -p
或自定义带sock文件 /usr/local/mysql/bin/mysql -uroot -p -S /usr/local/mysql/data/mysql.sock
后续步骤: cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld-lastest vim /etc/profile MYSQL_PATH=/usr/local/mysql/bin:/usr/local/mysql/lib export MYSQL_PATH
source /etc/profile ##添加到系统运行级别 chkconfig --level 35 mysqld on ##查看端口占用 netstat -antlp | grep 3308
#修改密码 mysqladmin -u root password '123456'
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables
问题: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 解决: 新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。 ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock /usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock
总结
以上是生活随笔为你收集整理的Centos环境下mysql源码编译安装的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Python学习系列二十九】sciki
- 下一篇: 【数据平台】基于pymysql库pyth