centos安装mysql步骤详解,mysql初始化配置实例

发布时间:2020-11-13编辑:脚本学堂
centos下mysql数据库的安装步骤,yum方式安装mysql数据库的方法,以及mysql源码编译方式安装数据库的方法,mysql初始化配置的操作教程。

一、mysql安装类型
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

重新登录mysql数据库
 

[root@localhost mysql]# mysql -u root -p
enter password:root

若仍会无法使用mysql远程连接,建议关闭防火墙,或修改iptables规则:
 

[root@localhost]# /etc/rc.d/init.d/iptables stop