linux 下编译安装MySQL
一:卸载旧版本
使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql //普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二:安装MySQL
安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载MySQL 5.6.14
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
tar xvf mysql-5.6.14.tar.gz
cd mysql-5.6.14
编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
整个过程需要30分钟左右……漫长的等待
三:配置MySQL
设置权限
使用下面的命令查看是否有mysql用户及用户组
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表
如果没有就创建
groupadd mysql
useradd -g mysql mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
修改/usr/local/mysql权限
初始化配置
进入安装路径
cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动MySQL
vim /etc/profile //环境变量路径
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile //立即生效
windows链接linux mysql数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
修改原来的myql的root的密码;
方法一:
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
方法二:
通过登录mysql系统,
# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=password("root") where user='root';
mysql> flush privileges;
mysql> exit;
1、检查是否安装了mysql
[root@localhost Desktop]# rpm -qa|grep mysql
如果安装了就卸载
强制删除
rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps
普通模式删除
rpm -e mysql
创建用户组并且添加一个用户
groupadd mysql
创建一个用户,不允许登陆和不创主目录
useradd -s /sbin/nologin -g mysql -M mysql
检查创建用户
tail -1 /etc/passwd
注:MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。
因此,我们首先要在系统中源码编译安装cmake工具。
2.安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz
tar -zxvf mysql-5.6.37.tar.gz
cd mysql
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_SSL=system
make && make install
编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
安装时间比较长,这时候可以去喝杯咖啡了
3.修改/usr/local/mysql权限
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
[root@localhost mysql]# cp support-files/my-default.cnf
执行初始化配置脚本,创建系统自带的数据库和表,注意配置文件的路径:
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
拷贝mysql安装目录下support-files服务脚本到init.d目录
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
赋予权限:
chmod +x /etc/init.d/mysqld
设置开机启动/可以不操作
chkconfig mysqld on
启动mysql
service mysqld start
或者
/etc/init.d/mysql start
MySQL5.6.x启动成功后,root默认没有密码,我们需要设置root密码。 设置之前,我们需要先设置PATH,要不,不能直接调用mysql,操作如下:
修改/etc/profile文件
root@localhost mysql]# vim /etc/profile
在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
让配置立即生效
[root@localhost mysql]# source /etc/profile
8.登陆测试,默认是没有密码,直接回车就可进入
9.设置mysql密码(这一步可以先不设置),命令如下:
/usr/local/mysql/bin/mysqladmin -uroot -p password '你的密码'
10.验证mysql安装路径
ls -ld /usr/local/mysql/
到这里MySQL编译安装就完成了