您的位置:首页 > 运维架构 > Linux

LINUX安装mysql详解:yum方式,适合linux新手

2013-12-18 15:51 901 查看
摘要: 本文主要阐述了如何用yum的方式安装mysql,试过了源码安装,不行,试过了rpm文件安装还是失败了。。。最终还是yum的方式,省事省力省心。。。

首先,笔者的linux环境是centOS6.x,也就是红帽子旗下的一个发行版。

--------------------------------------------------------------

查看是否安装了mysql

[root@linux ~]#rpm -qa|grep -i mysql


一般linux自带了低版本的mysql,通通的卸掉。

卸载语法:

[root@linux ~]#yum -y remove 包名


卸载完成后,就可以正式开始安装了,非常简单,快捷。

1.首先,安装mysql

选择合适的版本,yum intall 该版本。

[root@linux ~]#yum list | grep mysql


会看到诸多mysql版本的list

[root@linux ~]# yum list | grep mysql
mysql.x86_64                           5.1.71-1.el6                     @base
mysql-libs.x86_64                      5.1.71-1.el6                     @base
mysql-server.x86_64                    5.1.71-1.el6                     @base
apr-util-mysql.x86_64                  1.3.9-3.el6_0.1                  base
bacula-director-mysql.x86_64           5.0.0-12.el6                     base
bacula-storage-mysql.x86_64            5.0.0-12.el6                     base
dovecot-mysql.x86_64                   1:2.0.9-7.el6                    base
freeradius-mysql.x86_64                2.1.12-4.el6_3                   base
libdbi-dbd-mysql.x86_64                0.8.3-5.1.el6                    base
mod_auth_mysql.x86_64                  1:3.0.0-11.el6_0.1               base
mysql-bench.x86_64                     5.1.71-1.el6                     base
mysql-connector-java.noarch            1:5.1.17-6.el6                   base
mysql-connector-odbc.x86_64            5.1.5r1144-7.el6                 base
mysql-devel.i686                       5.1.71-1.el6                     base
mysql-devel.x86_64                     5.1.71-1.el6                     base
mysql-embedded.i686                    5.1.71-1.el6                     base
mysql-embedded.x86_64                  5.1.71-1.el6                     base
mysql-embedded-devel.i686              5.1.71-1.el6                     base
mysql-embedded-devel.x86_64            5.1.71-1.el6                     base
mysql-libs.i686                        5.1.71-1.el6                     base
mysql-test.x86_64                      5.1.71-1.el6                     base
php-mysql.x86_64                       5.3.3-27.el6_5                   updates
qt-mysql.i686                          1:4.6.2-26.el6_4                 base
qt-mysql.x86_64                        1:4.6.2-26.el6_4                 base
rsyslog-mysql.x86_64                   5.8.10-8.el6                     base


我们选择的是mysql.x86_64;

[root@linux ~]#yum -y install mysql.x86_64


直接等待安装即可。

2.安装mysql-server

[root@linux ~]#yum list | grep mysql-server


这个只有一个版本,直接安装

[root@linux ~]# yum list | grep mysql-server
mysql-server.x86_64                    5.1.71-1.el6                     @base


[root@linux ~]#yum -y install mysql-server.x86_64



等待字段安装完成,数据库就安装OK了。如果提示有其他错误,那么可能是缺少一些支持包,可以也用yum的方式直接下载对应的文件即可。


3.安装完成后,添加mysqld服务

[root@linux ~]#/sbin/chkconfig –-add mysqld


4.启动mysql的服务

[root@linux ~]#service mysqld start


注:(即/etc/init.d/mysqld start。也可设成开机自启动:/sbin/chkconfig mysqld on)

[root@linux ~]# service mysqld start
正在启动 mysqld:                                          [确定]


看到以上信息则表示mysqld服务已经启动成功了。

启动完后,我们可以给root用户分配密码,因为默认安装的mysql是没密码的。

[root@linux ~]#mysqladmin -u root password 'newpassword'


OK,到此数据库基本就安装完成了,接下来讲讲如何支持远程服务。

------------------华丽的分割线--------------------------------------------------

1.首先进入mysql命令行,敲如下命令,并输入密码

[root@linux ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.1.71 Source distribution

Copyright (c) 2000, 2013, 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>


2.然后授权

##增加root用户授权通过本地机(localhost)访问,密码"yourpassword"
mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

##授与root用户从任何其它主机发起的访问(通配符%)
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;


OK,接下来你便从你的机器远程访问服务器试试吧。

---------------------华丽的分割线-------------------------------------

下面再给大家说说其他一些设置。

##改变mysql默认编码
进入mysql命令行:mysql -uroot -p
输入密码
mysql>show variables like 'character%';
默认情况下:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

停止服务:
[root@linux ~]#service mysqld stop
[root@linux ~]#vi /etc/my.cnf
修改配置文件:分别在client和mysqld节点中添加
default-character-set=utf8,
并在mysqld节点中还添加
init_connect='SET NAMES utf8'
保存退出。
重启服务:
[root@linux ~]#service mysqld start;
重新进入mysql执行:
[root@linux ~]#show variables like 'character%';
正常情况下应该显示为:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)


OK,到此安装数据库基本都完成了,至少已经满足了我们日常开发的需要了。

另外再附一份my.cnf的文件配置,我想很多人都需要的。呵呵。

查看my.cnf文件命令,一般都是

[root@linux ~]#vi /etc/my.cnf


[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#默认编码
default-character-set=utf8
default-storage-engine=INNODB
init_connect='SET NAMES utf8'
#用来存放索引区块的RMA值(默认设置是8M),增加它可得到更好处理的索引(对所有读和多重写)
key_buffer_size = 16M
#增加该变量的值十分安全,这是因为仅当需要时才会分配额外内存。
#例如,仅当你发出长查询或mysqld必须返回大的结果行时mysqld才会分配更多内存。
#该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包,并确保不会因偶然使用大的信息包而导致内存溢出。
max_allowed_packet = 1M
#设置table高速缓存的数量
table_open_cache = 64
#每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。
#注意:该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100×6=600MB
sort_buffer_size = 512K
#用于建立连接时的连接缓冲和结果缓冲。最小值是1K,最大值是1M
net_buffer_length = 8K
## 读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享。
read_buffer_size = 256K
#该参数在使用行指针排序之后,随机读用的
read_rnd_buffer_size = 512K
#MyISAM表发生变化时重新排序所需的缓冲
myisam_sort_buffer_size = 8M
#服务器在关闭它前在一个交互连接上等待行动的秒数。
interactive_timeout=31536000
#服务器在关闭它之前在一个连接上等待行动的秒数
wait_timeout=31536000
#让mysql不区分大小写
lower_case_table_names=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
"/etc/my.cnf" 44L, 2041C
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LINUX MYSQL