关于在Centos系统下安装MYSQL数据库,网络上资料有很多,在此主要感谢该文章的博主:http://www.cnblogs.com/zhoulf/archive/2013/01/25/zhoulf.html,因为相对来说,该篇文章具有很强的操作性。此文将在汇集众多资料的基础上,记录本人安装MYSQL的全过程。
一、配置环境与软件版本:
1、Centos版本:6.3版32位系统;
2、CMake版本:cmake-2.8.4.tar.gz;
3、Mysql版本:mysql-5.5.11.tar.gz;
二、安装过程如下:
该安装过程采用CMake编译的方式安装Mysql,所以需要安装CMake工具,再安装Mysql数据库,在安装这两个软件之前,需要安装gcc与ncurses-devel。
1、安装gcc编译工具,执行如下命令:
[root@localhost soft]# yum install gcc-c++
如果提示安装:Complete! 表示安装成功。
2、安装ncurses-devel编译工具,执行如下命令:
[root@localhost soft]# yum install ncurses-devel
如果提示安装:Complete! 表示安装成功。
3、安装CMake工具,执行软件解压命令和剪切到/usr/local目录下:
[root@localhost soft]# tar -zxvf cmake-2.8.4.tar.gz
[root@localhost soft]# mv cmake-2.8.4 /usr/local/cmake
进入到/usr/local/cmake目录下进行安装:
[root@localhost cmake]# ./configure
[root@localhost cmake]# make
[root@localhost cmake]# make install
将cmake永久加入系统环境变量:
[root@localhost cmake]# vi /etc/profile
在/etc/profile文件中添加与设置相应的环境变量:
export CMAKE_HOME=/usr/local/cmake
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$CMAKE_HOME/bin
注:红色部分的分号不要丢掉。
使/etc/profile文件立即生效:
[root@localhost cmake]# . /etc/profile
注:.与/etc/profile之间有空格。
查看设置的环境变量是否已生效:
[root@localhost cmake]# echo $PATH
显示结果:
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.6.0_30/bin:/usr/local/ant/bin:/root/bin:/usr/java/jdk1.6.0_30/bin
:/usr/local/ant/bin:/usr/local/cmake/bin
红色部分显示我们设置的环境变量已经生效。
4、安装Mysql数据库,执行软件解压命令和剪切到/usr/local目录下:
[root@localhost soft]# tar -zxvf mysql-5.5.11.tar.gz
[root@localhost soft]# mv mysql-5.5.11 /usr/local/mysql-5.5.11
创建mysql的安装目录及数据库存放目录:
[root@localhost soft]# mkdir -p /usr/local/mysql
[root@localhost soft]# mkdir -p /usr/local/mysql/data
创建mysql用户及用户组:
[root@localhost soft]# groupadd mysql
[root@localhost soft]# useradd -r -g mysql mysql
进入mysql-5.5.11主目录,编译安装mysql:
[root@localhost mysql-5.5.11]# 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.11]# make
[root@localhost mysql-5.5.11]# make install
进入Mysql数据库的安装主目录/usr/local/mysql,设置相关的目录权限:
[root@localhost mysql]# chown -R root:mysql .
[root@localhost mysql]# chown -R mysql:mysql data
注:把mysql数据库主目录中所有文件的所有者设为root,所属组为mysql。
将mysql的启动服务添加到系统服务中:
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
创建系统数据库的表:
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
执行结果:
- Installing MySQL system tables...
- OK
- Filling help tables...
- OK
- To start mysqld at boot time you have to copy
- support-files/mysql.server to the right place for your system
- PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
- To do so, start the server, then issue the following commands:
- ./bin/mysqladmin -u root password 'new-password'
- ./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
- Alternatively you can run:
- ./bin/mysql_secure_installation
- which will also give you the option of removing the test
- databases and anonymous user created by default. This is
- strongly recommended for production servers.
- See the manual for more instructions.
- You can start the MySQL daemon with:
- cd . ; ./bin/mysqld_safe &
- You can test the MySQL daemon with mysql-test-run.pl
- cd ./mysql-test ; perl mysql-test-run.pl
- Please report any problems with the ./bin/mysqlbug script!
Installing MySQL system tables...
OK
Filling help tables...
OK To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands: ./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password' Alternatively you can run:
./bin/mysql_secure_installation which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl
cd ./mysql-test ; perl mysql-test-run.pl Please report any problems with the ./bin/mysqlbug script!
设置MYSQL的环境变量并做生效处理:
[root@localhost mysql]# vi /root/.bash_profile
在修改PATH=$PATH:$HOME/bin为:PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
最终如图:
[root@localhost mysql]# source /root/.bash_profile
注:红色部分是文件生效处理,很重要。
手动启动Mysql数据库:
[root@localhost mysql]# ./bin/mysqld_safe --user=mysql & mysqladmin -u root -p shutdown
注:启动MySQL,提示输入密码时,不要输入密码,直接回车即可。
提示:
- mysqladmin: connect to server at 'localhost' failed
- error: 'Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (2)'
- Check that mysqld is running and that the socket: '/usr/local/mysql/mysql.sock' exists!
- [root@localhost mysql]# 140223 21:59:54 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended
- [1]+ Done ./bin/mysqld_safe --user=mysql
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/usr/local/mysql/mysql.sock' exists!
[root@localhost mysql]# 140223 21:59:54 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended [1]+ Done ./bin/mysqld_safe --user=mysql
将Mysql的启动服务添加到系统服务中:
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
启动Mysql服务:
[root@localhost mysql]# service mysql start
最终结果:
- Starting MySQL... <span style="color: rgb(255, 0, 0);">ERROR</span>! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
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
再次启动Mysql服务:
[root@localhost mysql]# /etc/init.d/mysql start
- Starting MySQL... SUCCESS!
Starting MySQL... SUCCESS!
修改MySQL的root用户的密码以及打开远程连接:
[root@localhost mysql]# mysql -u root mysql
进入MySQL数据库管理系统:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 1
- Server version: 5.5.11-log Source distribution
- Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql>
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.11-log Source distribution Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
在MySQL命令行执行如下命令:
mysql> use mysql;
Database changed
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
- Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql> update user set Password = password('admin') where User='root';
- Query OK, 5 rows affected (0.01 sec)
- Rows matched: 5 Changed: 5 Warnings: 0
Query OK, 5 rows affected (0.01 sec)
Rows matched: 5 Changed: 5 Warnings: 0
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges;
- Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql> exit
- Bye
Bye
重新登录:
[root@localhost mysql]# mysql -u root -p
从图中可以看到,成功登录,至此Mysql数据库的安装与权限配置完毕。
三、验证数据库的基本功能:
1、查看数据库表:
mysql> show tables;
结果如图:
结果正常。
四、问题:
本人在配置的过程中,一开始先改变了系统的主机名,发现在执行登陆的时候登陆不了,报“链接不上 localhost”,但是在取消主机名之后,安装过程顺利,如果有大牛知道这个问题,望不吝赐教。
http://blog.****.net/limingzhong198/article/details/19823629