一:准备工作
1.1到mysql官网下载source code版的mysql5.5
1.2安装cmake(前一篇文章)
二:说明
安装过程中遇到了很多问题,通过google,百度得到了解决,安装过程中对所遇到的错我有详细的说明
三:安装过程:
3.1创建数据库数据存放目录、创建用户组、创建用户、修改MySQL_Data属主、属组
[[email protected]/]# mdkirMySQL_Data
[[email protected]/]# groupadd-r mysql
[[email protected]/]# useradd -r -g mysql -s /sbin/nologin mysql
[[email protected]/]# chown -R mysql.mysql/MySQL_DATA/
3.2进入到mysql解压目录,执行cmake . -LH读取默认选项
错误描述:CMake Error:The source directory "/software/mysql-5.5.42-linux2.6-x86_64" does not appear to contain CMakeLists.txt
错误原因:这个错误的原因是,下载mysql包的时候下载错了,一定要选择sources code
3.3继续cmak
3.4安装mysql
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/MySQL_DATA -DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system -DWITH_LIBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
3.4.1安装ncurses-devel
yum install ncurses-devel
3.4.2安装openssl
yum install openssl
再次执行 “3.3继续cmak”,然后遇到以下错误
3.4.2安装bison
yum install bison
再次执行“3.4安装mysql ”,然后遇到以下问题
error: ‘SSL_OP_NO_COMPRESSION’ undeclared(first use in this function)
3.5解决error: ‘SSL_OP_NO_COMPRESSION’ undeclared(first use in this function)错误,通过google查到说是openssl版本低造成的
解决方法:官网给出的答案http://bugs.mysql.com/bug.php?id=68999
4.再次执行“3.4安装mysql ”,编译通过
5.MySQL服务端相关配置
5.1修改/usr/local/mysql下的文件的属组全部修改为mysql
[[email protected]/]#chown-R :mysql /usr/local/mysql/
5.2初始化数据库
[[email protected]/]# srcipts/mysql_install_db--user=mysql --datadir=/MySQL_DATA
5.3 拷贝support-files/my-large.cnf 到/etc/my.cnf
support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]# cpsupport-files/my-large.cnf /etc/my.cnf
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
5.4 把mysqld添加到系统服务
[[email protected] mysql]# chkconfig --add mysqld
6.MySQL客户端配置
6.1把/usr/local/mysql/bin添加到$PATH中,并使之立即生效
6.2执行mysql命令
7.查看存储引擎
8.编辑my.cnf文件,添加datadir
9.删除匿名用户
10.修改密码,使密码生效,然后退出,重新登录
11.数据安装时候使用的数据库引擎是InnoDB,InnoDB默认多个表在一个表空间内,修改为每一个表一个表空间
然后重启mysql服务生效