mysql有多中安装方法,本文只涉及编译安装,对其他方法感兴趣的可以自行百度。
1、首先获取mysql软件安装包,这里用wget下载
[root@localhost ~]# wget http://download.chinaunix.net/down.php?id=38987&ResourceID=7159&site=1
2、解压
[root@localhost ~]# tar zxvf mysql-5.1.62.tar.gz
3、创建相关文件夹并配置
[root@localhost ~]# cd mysql-5.1.62
[root@localhost mysql-5.1.62]# mkdir -p /usr/local/mysql
[root@localhost mysql-5.1.62]# mkdir -p /usr/local/mysql/tmp/
[root@localhost mysql-5.1.62]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --enable-assembler --enable-thread-safe-client --with-mysqld-user=mysql --with-big-tables --without-debug --with--pyhread --enable-assembler --with-extra-charsets=complex --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase --with-plugin-PLUGIN --with-mysqld-ldflags=all-static --with-client-ldflags=all-static
配置完成后查看是否有报错,正常配置结果如下
configure: WARNING: unrecognized options: --with--pyhread, --with-plugin-PLUGIN
Thank you for choosing MySQL!
Remember to check the platform specific part of the reference manual
for hints about installing MySQL on your platform.
Also have a look at the files in the Docs directory.
说明:
1.可以通过执行./configure -help命令来详细查看以上各参数的用途。
2.如果编译过程中提示不支持的参数,可使用./configure -help查看该mysql版本是否支持该参数
4、编译并生成mysqld的执行文件
[root@localhost mysql-5.1.62]# make
报错:gcc: all-static: No such file or directory
不支持all-static参数,查看./configure -help发现5.1.62版本的mysql确实没有all-static这个参数
[root@localhost mysql-5.1.62]# ./configure -help |grep "all-static"
[root@localhost mysql-5.1.62]#
去掉all-static重新配置编译
[root@localhost mysql-5.1.62]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --enable-assembler --enable-thread-safe-client --with-mysqld-user=mysql --with-big-tables --without-debug --with--pyhread --enable-assembler --with-extra-charsets=complex --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase --with-plugin-PLUGIN
5、安装mysql
[root@localhost mysql-5.1.62]# make install
6、获取配置文件
[root@localhost mysql-5.1.62]# cp support-files/my-small.cnf /etc/my.cnf
7、创建数据库文件
[root@localhost mysql-5.1.62]# mkdir -p /usr/local/mysql/data #建立mysql数据文件目录
[root@localhost mysql-5.1.62]# chown -R mysql.mysql /usr/local/mysql/ #授予mysql用户对目录的权限
[root@localhost mysql-5.1.62]# /usr/local/mysql/bin/mysql_install_db --user=mysql #初始化数据文件,安装mysql数据库文件;执行结果如下:
Installing MySQL system tables...
150525 16:46:45 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
OK
Filling help tables...
150525 16:46:45 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
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:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
/usr/local/mysql/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 /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/mysql/bin/mysqlbug script!
[root@localhost mysql-5.1.62]#
8、启动mysql
[root@localhost mysql-5.1.62]# /usr/local/mysql/bin/mysqld_safe & #启动mysql
[1] 5907
[root@localhost mysql-5.1.62]# 150525 16:53:53 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
150525 16:53:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[root@localhost mysql-5.1.62]# netstat -lnt|grep 3306 #mysql默认端口3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
[root@localhost mysql-5.1.62]# mysql #mysql登录
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.62 Source distribution
Copyright (c) 2000, 2012, 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> quit
Bye
安装完后我们还要查看并删除多余用户
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.62 Source distribution
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All ri
Oracle is a registered trademark of Oracle Corporation and/or
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current
mysql> select user,host from mysql.user;
+------+-----------------------+
| user | host |
+------+-----------------------+
| root | 127.0.0.1 |
| | localhost |
| root | localhost |
| | localhost.localdomain |
| root | localhost.localdomain |
+------+-----------------------+
5 rows in set (0.00 sec)
mysql> drop user ""@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ""@localhost.localdomain
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------------------+
| user | host |
+------+-----------------------+
| root | 127.0.0.1 |
| root | localhost |
| root | localhost.localdomain |
+------+-----------------------+
3 rows in set (0.00 sec)
mysql>