centos环境下安装mysql

一、安装类型

安装方式分为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

你可能感兴趣的:(linux,mysql,centos)