首先,笔者的linux环境是centOS6.x,也就是红帽子旗下的一个发行版。
--------------------------------------------------------------
查看是否安装了mysql
[root@linux ~]#rpm -qa|grep -i mysql
一般linux自带了低版本的mysql,通通的卸掉。
卸载语法:
[root@linux ~]#yum -y remove 包名
选择合适的版本,yum intall 该版本。
[root@linux ~]#yum list | grep mysql
[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
[root@linux ~]#yum -y install mysql.x86_64
[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
[root@linux ~]#/sbin/chkconfig –-add mysqld
[root@linux ~]#service mysqld start
[root@linux ~]# service mysqld start 正在启动 mysqld: [确定]
看到以上信息则表示mysqld服务已经启动成功了。
启动完后,我们可以给root用户分配密码,因为默认安装的mysql是没密码的。
[root@linux ~]#mysqladmin -u root password 'newpassword'
OK,到此数据库基本就安装完成了,接下来讲讲如何支持远程服务。
------------------华丽的分割线--------------------------------------------------
[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>
##增加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