一、安装类型
安装方式分为rpm安装、源码编译安装、yum安装,本文介绍yum方式安装及mysql源码编译方式。其中编译安装编译器使用Cmake。软件需要mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz
内网下载地址:
1.1 yum命令自动化安装
#查看系统已安装的mysql、强制删除已安装(系统自带)的mysql
[root
@localhost
local
]
# rpm -qa | grep mysql
[root
@localhost
local
]
# rpm -e --nodeps mysql-libs
#查看、并安装yum可安装的mysql版本
[root
@localhost
local
]
# yum list | grep mysql
#yum命令安装mysql及相关程序
[root
@localhost
local
]
# yum install -y mysql-server mysql mysql-devel
#查看已安装的mysql版本
[root
@localhost
local
]
# rpm -qi mysql-server
#启动mysql服务
[root
@localhost
local
]
# service mysqld start
#查看是否开机启动
[root
@localhost
local
]
# chkconfig --list | grep mysqld
#设置开机启动
[root
@localhost
local
]
# chkconfig mysqld on
#初始化后首次设置密码为 root
[root
@localhost
local
]
# mysqladmin -u root password 'root'
|
1.2 mysql源码编译安装
#1.上传mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz到/usr/local文件夹下。
#2.CentOS安装g++和ncurses-devel
[root
@localhost
local
]
# yum install gcc-c++
[root
@localhost
local
]
# yum install ncurses-devel
#3.cmake的安装
[root
@localhost
]
# tar -zxv -f cmake-2.8.10.2.tar.gz // 解压压缩包
[root
@localhost
local
]
# cd cmake-2.8.10.2
[root
@localhost
cmake-2.8.10.2]
# ./configure
[root
@localhost
cmake-2.8.10.2]
# make
[root
@localhost
cmake-2.8.10.2]
# make install
#4.将cmake永久加入系统环境变量
#在文件/etc/profile文件中增加变量,使其永久有效,
[root
@localhost
local
]
# vi /etc/profile
#在文件末尾追加以下两行代码:
PATH=/usr/
local
/bin/cmake:
$PATH
export PATH
#执行以下代码使刚才的修改生效:
[root
@localhost
local
]
# source /etc/profile
#用 export 命令查看PATH值
[root
@localhost
local
]
# echo $PATH
#5.创建mysql的安装目录及数据库存放目录
[root
@localhost
]
# mkdir -p /usr/local/mysql //安装mysql
[root
@localhost
]
# mkdir -p /usr/local/mysql/data //存放数据库
#6.创建mysql用户及用户组
[root
@localhost
] groupadd mysql
[root
@localhost
] useradd -r -g mysql mysql
#7.编译安装mysql
[root
@localhost
local
]
# tar -zxv -f mysql-5.5.29.tar.gz //解压
[root
@localhost
local
]
# cd mysql-5.5.29
[root
@localhost
mysql-5.5.29]
#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/
local
/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/
local
/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
[root
@localhost
mysql-5.5.29]
# make
[root
@localhost
mysql-5.5.29]
# make install
#8、查看是否安装完成
[root
@localhost
mysql-5.5.28]
# cd /usr/local/mysql/
[root
@localhost
mysql]
# ls
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
#配置mysql
#9.设置mysql目录权限
[root
@localhost
mysql]
# cd /usr/local/mysql //把当前目录中所有文件的所有者设为root,所属组为mysql
[root
@localhost
mysql]
# chown -R root:mysql .
[root
@localhost
mysql]
# chown -R mysql:mysql data
#10.将mysql的启动服务添加到系统服务中
[root
@localhost
mysql]
# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖
"/etc/my.cnf"
? y
#11.创建系统数据库的表
[root
@localhost
mysql]
# cd /usr/local/mysql
[root
@localhost
mysql]
# scripts/mysql_install_db --user=mysql
#12.设置环境变量
[root
@localhost
~]
# vi /root/.bash_profile
在修改PATH=
$PATH
:
$HOME
/bin为:
PATH=
$PATH
:
$HOME
/bin:/usr/
local
/mysql/bin:/usr/
local
/mysql/lib
[root
@localhost
~]
# source /root/.bash_profile //使刚才的修改生效
#13.手动启动mysql
[root
@localhost
~]
# cd /usr/local/mysql
[root
@localhost
mysql]
# ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止
mysqladmin -u root -p
shutdown
//此时root还没密码,所以为空值,提示输入密码时,直接回车即可。
#14.将mysql的启动服务添加到系统服务中
[root
@localhost
mysql]
# cp support-files/mysql.server /etc/init.d/mysql
#15.启动mysql
[root
@localhost
mysql]
# service mysql start
Starting MySQL... ERROR! The server quit without updating PID file (/usr/
local
/mysql/data/localhost.localdomain.pid).
启动失败:
我这里是权限问题,先改变权限
[root
@localhost
mysql]
# chown -R mysql:mysql /usr/local/mysql
接着启动服务器
[root
@localhost
mysql]
# /etc/init.d/mysql start
|
二、 MySQL初始化配置
修改MySQL的root用户的密码以及打开远程连接
[root@localhost mysql]# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力
mysql> update user set Password = password('root') where User='root'; //设置root用户密码
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges;
mysql> exit
重新登录
[root@localhost mysql]# mysql -u root -p
Enter password:root
若还不能进行远程连接,关闭防火墙
[root@localhost]# /etc/rc.d/init.d/iptables stop