安装环境:
centos 7.4 + mysql 5.5.20
步骤:
(1) 源码安装MYSQL5.5.20方法,通过cmake、make、make install三个步骤实现。
安装mysql需要的包:yum install -y cmake make gcc gcc-c++ wget ncurses-devel cmake make perl ncurses-devel openssl-devel bison-devel libaio libaio-devel
PCRE是一个Perl库,包括 perl 兼容的正则表达式库。PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。
CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。
ncurses是字符终端下屏幕控制的基本库,mysql登录时使用到了相应的功能。
libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。libaio的读写过程简单说来就是你发出一个读写请求,然后你可以开始做其他事情,当读写过程结束时libaio会通知你你的这次请求已经完成(而select模型是告诉你读写已经就绪)
Bison是一种通用的解析器生成器,它将一个LALR(1)上下文无关文法的语法描述转换成一个C程序来解析该语法。一旦您精通Bison,您就可以使用它来开发广泛的语言解析器,从简单的桌面计算器到复杂的编程语言。
(2) 安装:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BIG_TABLES=1 -DWITH_DEBUG=0 make && make install
cd /usr/local/mysql55/
\cp -f support-files/my-large.cnf /etc/my.cnf
\cp -f support-files/mysql.server /etc/init.d/mysqld
创建mysql datadir:
mkdir -p /data/mysql
添加开机自启动:
chkconfig --add mysqld
chkconfig --level 35 mysqld on
创建mysql 用户,组:
groupadd mysql
useradd -s /sbin/nologin -m -g mysql mysql
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55/
chown -R mysql.mysql /data/mysql/ #改变目录的用户和用户组
ln -s /usr/local/mysql55/bin/* /usr/bin/
注意:datadir的准确性
第二部分:
mysql启动:
1.开启MySQL服务
/etc/init.d/mysqld start
service mysqld start
systemctl start mysqld
2.检测端口是否运行
lsof -i :3306
netstat -lntup |grep 3306
ss -antp|grep 3306
3. 设置mysql的密码:
mysqladmin -u root password "NEWPASSWORD"
4. 修改mysql的密码:
mysqladmin -uroot passowrd oldpassowrd "NEWPASSWORD"
use mysql;
update user set passowrd = PASSWORD(‘newpassword‘) where user = ‘root‘;
flush privileges;
5.MySQL密码丢了,请找回?
mysqld_safe --skip-grant-tables & #启动数据库服务
mysql -uroot -ppassowrd -e "use mysql;update user set passowrd = PASSWORD(‘newpassword‘) where user = ‘root‘;flush privileges;"
原文地址:https://www.cnblogs.com/wutao1935/p/11663051.html