详尽的Mysql安装过程 讲解

标签: mysql | 发表时间:2011-10-09 13:30 | 作者:Roger Hobbes
出处:http://www.cppblog.com/

安装步骤:

inux平台mysql source安装的安装及配置步骤

1、 下载MySQLsourcecode

进入mysql download页面http://dev.mysql.com/downloads/

  点击进入http://dev.mysql.com/downloads/mysql/ 到如下页面:

    

   选择sourcecode下拉列表进入到如下页面:

    
  点击 Generic Linux (Architecture Independent), Compressed TAR Archive,进入
    
选择 » No thanks, just take me to the downloads!

进行下载

2、 安装MySQL

解压mysql5 的安装包:

[root@niutian365 local]# tar zxvf mysql-5.5.16.tar.gz

进入解压后的安装包

:[root@niutian365 local]# cd mysql-5.5.16

3、 选择root用户进入,建立mysql用户组和用户名:

建立mysql用户组:groupadd mysql

建立mysql用户并将mysql用户加到mysql用户组中: useradd -g mysql mysql

4、 创建/usr/mysql/mysql/usr/mysql/data/usr/mysql/log目录

mkdir /usr/mysql/mysql

mkdir /usr/mysql/data

cmake 编译sourcecode

cmake -DCMAKE_INSTALL_PREFIX=/mysql/mysql

-DMYSQL_DATADIR=/mysql/mysql/data

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

-DWITH_PARTITION_STORAGE_ENGINE=1

-DENABLED_LOCAL_INFILE=1

-DMYSQL_UNIX_ADDR=/mysql/mysql/data/mysql.sock

5、 复制配置文件到/etc

[root@niutian365 local]#vi /etc/my.cnf

修改

[mysqld]

basedir=/home/mysql/mysql

datadir=/home/mysql/data

socket=/var/lib/mysql/mysql.sock

[mysqld_safe]

log-error=/home/mysql/log/mysqld.log

pid-file=/home/mysql/log/mysqld.pid

6、 修改文件的文件主:

chown –R mysql:mysql /home/mysql/log/

chown –R mysql:mysql /var/lib/mysql

 

运行[root@niutian365 local]#./usr/local/mysql/bin/mysql_install_db

在这一步中可能会发生错误,查看错误原因,如果是由于权限的问题则需要将父目录拥有者改成mysql:mysql,使用chown –R mysql:mysql XXX

7、 运行mysql

进入mysqlbin目录,运行sh mysqld_safe

如果不能正常运行,可以查看log目录下的mysqld.log,查看错误信息,然后做出相应的修改。

8、 mysql注册为服务

mysql源代码目录的support-files/mysql.server拷贝至/etc/init.d/,重命名为mysqld

安装chkconfig: apt-get install chkconfig 

运行 chkconfig -add mysql注册服务

运行 mysql start开启服务

运行 mysql stop关闭服务

 

修改远程登录mysql权限,现在提供两种支持远程登录的方法:

1.       改表法。其中在user表中的host那一列保存的是user允许的用户登录的位置信息,通过修改这一列的数据来修改mysql的远程登录,使用如下命令进入mysqlmysql –u root –p 输入密码(默认为空)第一次进入到数据库系统。

选择数据库:mysql> use mysql;

如下图所示执行sql命令:

说明: C:\Users\roger\AppData\Roaming\Tencent\Users\455769859\QQ\WinTemp\RichOle\EOQH1V)J62%D[KFZM8N)MB5.jpg

由上图可以看到,mysql只允许127.0.0.1localhost,以及localhost.localdomain的机器以root身份登录到mysql数据库中,下面我们做如下更改:

说明: C:\Users\roger\AppData\Roaming\Tencent\Users\455769859\QQ\WinTemp\RichOle\4AY[GQ~VX4TDD$S4@)[E[ZS.jpg

上面的error是有host是唯一属性导致的错误,可以不用理会,现在我们已经改好了mysql远程登录的配置,一定要主要通过如下命令是上述做的改动生效。

mysql> FLUSH PRIVILEGES;

好了现在可以在其他机器上进行远程登录mysql了。

2.       授权法。

使用如下命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;root用户在任意机器上以111111密码访问,上面的执行结果如下:

实际上,在user表中添加了一行,如上面标注部分。如果你想允许用户myuserip192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码,执行如下语句:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Mysql修改密码:

UPDATE user SET password=password('111111') where user='root'; 

mysql> FLUSH privileges;

如下图:

         说明: C:\Users\roger\AppData\Roaming\Tencent\Users\455769859\QQ\WinTemp\RichOle\]T~OX)`1~3OC8XFW04KP9DI.jpg

请注意,此密码是经过hash后的密码,不能用原密码如mysql> update user set password = 111111 where user = 'root' ;这样是不正确的。

Mysql添加用户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'sphinx'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;                          

Query OK, 0 rows affected (0.00 sec)

 

mysql> FLUSH PRIVILEGES;                                                                   

Query OK, 0 rows affected (0.00 sec)

以上命令是创建sphinx用户远程登录mysql,密码是111111

 



Roger 2011-10-09 13:30 发表评论

相关 [mysql] 推荐:

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

MySQL Replication 线程

- - CSDN博客推荐文章
Replication 线程. Mysql 的Replication 是一个异步的复制过程,从一个Mysql instace(我们称之为Master)复制到另一个Mysql instance(我们称之Slave). 在Master 与Slave 之间的实现整个复制过程主. 要由三个线程来完成,其中两个线程(Sql 线程和IO 线程)在Slave 端,另外一个线程(IO 线程)在Master 端.

mysql backup 脚本

- - ITeye博客
网上备份脚本很多,但考虑都不周全. 保证创建备份文件只能是创建者跟root可以访问,其他用户没有权限,保证了数据库备份的安全. 上面脚本是负责备份的份数管理,. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Oracle MySQL Or NoSQL续

- - Sky.Jian 朝阳的天空
接前面一篇,这里再将之前在“中国系统架构师大会”5周年的时候发布的纪念册“IT架构实录”上的一篇文章发出来,也算是前面博文中PPT的一个文字版解读吧. Oracle,MySQL 还是 NoSQL. 随着阿里系的“去IOE”运动在社区的宣传声越来越大,国内正在掀起一股“去xxx”的技术潮. 不仅仅是互联网企业,包括运营商以及金融机构都已经开始加入到这个潮流之中.

mysql优化

- - 数据库 - ITeye博客
公司网站访问量越来越大,MySQL自然成为瓶颈,因此最近我一直在研究 MySQL  的优化,第一步自然想到的是 MySQL 系统参数的优化,作为一个访问量很大的网站(日20万人次以上)的数据库系统,不可能指望 MySQL  默认的系统参数能够让 MySQL运行得非常顺畅. 在Apache, PHP,  MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.

MySql动态SQL

- - SQL - 编程语言 - ITeye博客
13.7. 用于预处理语句的SQL语法. MySQL 5.1对服务器一方的预制语句提供支持. 如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势. 候选界面包括MySQL C API客户端库(用于C程序)、MySQL Connector/J(用于Java程序)和MySQL Connector/NET.

MySQL 性能

- - 谁主沉浮
这里罗列了一些基本的 MySQL 性能提示,但不是放之四海而皆准,需要根据实际的应用情况而决定. 使用标准化设计(数据库三范式),记住表的联合查询(join)性能不会差. 选择合适的字符集,虽然UTF16无所不能,但需要两倍的存储;UTF8适合各种字符,但比latin1慢,尽可能选用latin1(此条不适合中文).

mysql explain 解析

- - SQL - 编程语言 - ITeye博客
Mysql Explain 详解. 例如: explain select * from t3 where id=3952602;. 二.explain输出解释. | id | select_type | table | type  | possible_keys     | key     | key_len | ref   | rows | Extra |.

mysql profile使用

- - 数据库 - ITeye博客
mysql的sql语句优化都使用explain,但是这个没有办法知道详细的Memory/CPU等使用量. MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用. 量, 执行过程 System lock, Table lock 花多少时间等等.

mysql tips两则

- - jackyrong
mysql tips两则,都可以用来查看当前执行的语句. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.