关于在Centos系统下安装MYSQL数据库,网络上资料有很多,在此主要感谢该文章的博主:http://www.yunvn.com/thread-16412-1-1.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编译工具,执行如下命令: [iyunv@localhost soft]# yum install gcc-c++ 如果提示安装:Complete! 表示安装成功。 2、安装ncurses-devel编译工具,执行如下命令: [iyunv@localhost soft]# yum install ncurses-devel 如果提示安装:Complete! 表示安装成功。 3、安装CMake工具,执行软件解压命令和剪切到/usr/local目录下: [iyunv@localhost soft]# tar -zxvf cmake-2.8.4.tar.gz [iyunv@localhost soft]# mv cmake-2.8.4 /usr/local/cmake 进入到/usr/local/cmake目录下进行安装: [iyunv@localhost cmake]# ./configure [iyunv@localhost cmake]# make [iyunv@localhost cmake]# make install 将cmake永久加入系统环境变量: [iyunv@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文件立即生效: [iyunv@localhost cmake]# . /etc/profile 注:.与/etc/profile之间有空格。 查看设置的环境变量是否已生效: [iyunv@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目录下: [iyunv@localhost soft]# tar -zxvf mysql-5.5.11.tar.gz [iyunv@localhost soft]# mv mysql-5.5.11 /usr/local/mysql-5.5.11 创建mysql的安装目录及数据库存放目录: [iyunv@localhost soft]# mkdir -p /usr/local/mysql [iyunv@localhost soft]# mkdir -p /usr/local/mysql/data 创建mysql用户及用户组: [iyunv@localhost soft]# groupadd mysql [iyunv@localhost soft]# useradd -r -g mysql mysql 进入mysql-5.5.11主目录,编译安装mysql: [iyunv@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 注:“>” 标识符是在行尾键入“\”符号时自动产生的。 [iyunv@localhost mysql-5.5.11]# make [iyunv@localhost mysql-5.5.11]# make install 进入Mysql数据库的安装主目录/usr/local/mysql,设置相关的目录权限: [iyunv@localhost mysql]# chown -R root:mysql . [iyunv@localhost mysql]# chown -R mysql:mysql data 注:把mysql数据库主目录中所有文件的所有者设为root,所属组为mysql。 将mysql的启动服务添加到系统服务中: [iyunv@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf cp: overwrite `/etc/my.cnf'? y 创建系统数据库的表: [iyunv@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!
设置MYSQL的环境变量并做生效处理: [iyunv@localhost mysql]# vi /root/.bash_profile 在修改PATH=$PATH:$HOME/bin为:PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib 最终如图:
[iyunv@localhost mysql]# source /root/.bash_profile 注:红色部分是文件生效处理,很重要。 手动启动Mysql数据库: [iyunv@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!
- [iyunv@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的启动服务添加到系统服务中: [iyunv@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql 启动Mysql服务: [iyunv@localhost mysql]# service mysql start 最终结果: Starting MySQL... <span style="color:#ff0000;">ERROR</span>! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
注:这里是权限问题,先改变权限。 [iyunv@localhost mysql]# chown -R mysql:mysql /usr/local/mysql 再次启动Mysql服务: [iyunv@localhost mysql]# /etc/init.d/mysql start Starting MySQL... SUCCESS!
修改MySQL的root用户的密码以及打开远程连接: [iyunv@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>
在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)
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
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> exit Bye
重新登录: [iyunv@localhost mysql]# mysql -u root -p
从图中可以看到,成功登录,至此Mysql数据库的安装与权限配置完毕。 三、验证数据库的基本功能: 1、查看数据库表: mysql> show tables; 结果如图:
结果正常。 四、问题: 本人在配置的过程中,一开始先改变了系统的主机名,发现在执行登陆的时候登陆不了,报“链接不上 localhost”,但是在取消主机名之后,安装过程顺利,如果有大牛知道这个问题,望不吝赐教。
|