您的位置:首页 > 数据库 > MySQL

Linux下源代码编译Mysql5.5版本安装详细步骤及编译参数

2014-05-22 11:35 991 查看
1、安装所需要系统库相关库文件
yum –y install gcc gcc-c++ compat-gcc-34-g77 autoconf automake zlib* libxml*
ncurses-devel libmcrypt* libtool-ltdl-devel* cmake

如果找不到安装包,则使用epel官网有链接

2、创建mysql安装目录
# mkdir -p /opt/mysql/mysql_dir

3、创建数据存放目录
# mkdir -p /var/mysql/data

4、创建用户和用户组与赋予数据存放目录权限
# groupadd mysql
# useradd -g mysql mysql
chown -R mysql:mysql /opt/mysql/
chown -R mysql:mysql /var/mysql/

6、下载解压mysql 5.5.22
在官网去下个最新版的。
[root@localhost down]# tar zxvf mysql- 5.5.22 .tar.gz
[root@localhost down]# cd mysql- 5.5.22
7、编译mysql- 5.5.22
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql/mysql_dir \
-DMYSQL_UNIX_ADDR=/var/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306

##如何之前因为库文件安装不全,编译失败,安装完全库文件后,再次编译失败,则需要删除编译文件:
rm -rf CMakeCache.txt

[root@host mysql-5.5.22]# make ;make install

8、初始化数据库
[root@localhost mysql-5.5.22]# scripts/mysql_install_db \
--user=mysql --basedir=/opt/mysql/mysql_dir \
--datadir=/var/mysql/data

9、设置mysqld的配置文件与开机启动

# cp support-files/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql
# chkconfig --add mysql
# chkconfig mysql on

# cp support-files/my-medium.cnf /etc/my.cnf

10、启动mysql服务
[root@localhost mysql-5.5.22]# /etc/init.d/mysqld start

11、启动完成之后用ps -ef |grep mysql 命令查看是否启动

12、为root帐户设置初始密码
# /opt/mysql/mysql_dir/bin/mysqladmin -u root password 'new-password'
或者限制只能通过本机登陆
# /opt/mysql/mysql_dir/bin/mysqladmin -u root -h ‘hostname’ password 'new-password'

13、登入mysql
[root@localhost mysql-5.5.22]#/opt/mysql/mysql_dir/bin/mysql -u root -p

14、删除本机匿名连接的空密码帐号
mysql>use mysql; //选择默认数据库mysql
mysql>update user set password=’root123’ where user = '127.0.0.1';
mysql>delete from user where password="";//不允许root密码为空
mysql>flush privileges;
mysql>quit
容许root用户是远程登录

15、设置MySQL远程连接
数据库服务器设置
# /mysql -u root -p //进入数据库
mysql>use mysql
mysql>select user,password,host from user;
mysql>update user set host = '192.168.%' where user = '127.0.0.1';
mysql>grant all privileges on *.* to root@'%' identified by "root123";//给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。并把远程登录用户的密码设置为root
mysql> flush privileges;
mysql>quit

16、Windows下MySQL客户端,然后可以远程登入。
MySQL官方GUI客户端:http://www.mysql.com/downloads/workbench/

-------------------------------------------------------------------
我在启动mysql当中,出现了无法启动的情况。

[root@localhost mysql-5.5.22]# service mysqld start

Starting MySQL.The server quit without updating PID file (/opt/mysql/data/localhost.localdomain.pid). [FAILED] 启动mysql失败
解决Mysql不能启动的问题

安装好MYSQL后启动数据库出错
[root@localhost mysql]# service mysqld start
Starting MySQL..Manager of pid-file quit without updating f[失败]
在网上查了半天,找到的有两种方法,
1、在 my.cnf 中增加了 在server下面

# The MySQL server

[mysqld]
port = 3306
socket = /var/mysql/mysql.sock
添加下面一行
datadir = /var/mysql/data

[safe_mysqld]
err-log = /var/mysql/log/mysqld.log
pid-file = /var/mysql/data/localhost.localdomain.pid
重新启动 mysql成功
/opt/mysql/mysql/var/db1.pid 这个文件名字貌似不能随便指定的
(我指定成了别的是不行的 ,这里的db1是你的hostname)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux mysql 源代码