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

1、安装所需要系统库相关库文件 

yum �Cy 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,源代码,用户组,最新版)