Linux下编译安装mysql-5.0.45

本文详细介绍MySQL的安装步骤、配置方法及常见操作,包括用户管理、权限分配、远程访问配置等。

 

安装
rmp -ivh MySQL-server-4.1.22-0.glibc23.i386.rpm --nodeps
rmp -ivh MySQL-client-4.1.22-0.glibc23.i386.rpm --nodeps
查看是否 安装成功
netstat -atln 
命令看到3306端口开放说明安装成功
登录
mysql [-u username] [-h host] [-p[password]] [dbname]

 

初始无密码, 这个mysql可执行文件在 /usr/bin/mysql
 
目录
 
1、数据库目录
   /var/lib/mysql/
2、配置文件
    /usr/share/mysql   (mysql.server命令及配置文件)
3、相关命令
   /usr/bin    (mysqladmin mysqldump等命令)
4、启动脚本
   /etc/rc.d/init.d/    (启动脚本文件mysql的目录)
 
修改登录密码
 
MySQL默认没有密码
usr/bin/mysqladmin -u root password 'new-password'
格式:
mysqladmin -u用户名 -p旧密码 password 新密码
启动与停止
MySQL安装完成后启动文件mysql在 /etc/init.d 目录下,在需要启动时运行下面命令即可
启动:
/etc/init.d/mysql start
停止:
/usr/bin/mysqladmin -u root -p shutdown

重新启动:

sudo  /etc/init.d/mysql restart

 

自动启动:
察看mysql是否在自动启动列表中 /sbin/chkconfig --list
把MySQL添加到你系统的启动服务组里面去 /sbin/chkconfig --add mysql
把MySQL从启动服务组里面删除 /sbin/chkconfig --del mysql
配置
/usr/share/mysql/my-medium.cnf 复制到 /etc/my.cnf ,以后修改 my.cnf 文件来修改mysql的全局设置
将my.cnf文件中的 innodb_flush_log_at_trx_commit 设成 0 来优化

  [mysqld]后添加添加lower_case_table_names设成1来不区分表名的大小写

设置字符集
MySQL的默认编码是Latin1,不支持中文,要支持需要把数据库的默认编码修改为gbk或者utf8。
1、中止MySQL服务( bin/mysqladmin -u root shutdown)
   2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为 my.cnf即可 
   3、打开my.cnf以后,在[client]和[mysqld]下面均加上 default-character-set=utf8 ,保存并关闭
   4、启动MySQL服务( bin/mysqld_safe &)
查询字符集: show variables like '%set%';
 
增加MySQL用户
格式:
grant select on 数据库.* to 用户名@登录主机 identified by "密码"
 
grant select,insert,update,delete on *.* to user_1@'%' Identified by '123';
grant all on *.* to user_1@'localhost' Identified by '123';
 
远程访问
  其一: 
GRANT ALL PRIVILEGES ON *.* TO xoops_root@'%' IDENTIFIED BY '654321';
  允许xoops_root用户可以从任意机器上登入MySQL。
  其二:
  编辑 /etc/mysql/my.cnf
   >skip-networking => # skip-networking
  这样就可以允许其他机器访问MySQL了。

   grant all on *.* to 'root'@'ip' identified by 'password'; 

备份与恢复
备份
进入到库目录, cd /val/lib/mysql
mysqldump -u root -p --opt aaa > back_aaa
恢复
mysql -u root -p ccc < back_aaa


(7)登录mysql

#cd /usr/bin/mysql -u root -p

Enterpassword:(直接回车,因为第一次为空密码)

(8)登录成功后,修改密码

进入>mysql环境下,

输入:

> mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

> mysql> use mysql

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| event                     |

| func                      |

| general_log               |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| ndb_binlog_index          |

| plugin                    |

| proc                      |

| procs_priv                |

| proxies_priv              |

| servers                   |

| slow_log                  |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

24 rows in set (0.00 sec)

> mysql>update user set password=password('123456')where user='root';

修改root密码为123456

最后重启mysql,密码生效

使用root登陆到mysql后

mysql> update user set host='%' where user='root'; 
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 
mysql> select host,user from user; 
+-----------------------+------+ 
| host                  | user | 
+-----------------------+------+ 
| %                    | root | 
| 127.0.0.1            | root | 
| 192.168.128.142      | root | 
| ::1                  | root | 
| localhost.localdomain | root | 
+-----------------------+------+ 
5 rows in set (0.00 sec)

然后:

mysql> grant all privileges on *.* to 'root'@'%' with grant option; 
Query OK, 0 rows affected (0.08 sec) 
 
mysql> exit 

使用root登陆到mysql后

mysql> update user set host='%' where user='root'; 
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 
mysql> select host,user from user; 
+-----------------------+------+ 
| host                  | user | 
+-----------------------+------+ 
| %                    | root | 
| 127.0.0.1            | root | 
| 192.168.128.142      | root | 
| ::1                  | root | 
| localhost.localdomain | root | 
+-----------------------+------+ 
5 rows in set (0.00 sec)

然后:

mysql> grant all privileges on *.* to 'root'@'%' with grant option; 
Query OK, 0 rows affected (0.08 sec) 
 
mysql> exit 

/etc/init.d/mysql restart   重启生效


(呵)近一段时间由于工作需要,终于开始玩Linux了,今天搞了一天的MySQL编译安装,记录下来,备忘吧!!

 

(卡)安装环境:VmWare5(桥接模式) + RedHat E AS 4 + 已安装了开发工具以及相关开发包(安装Linux系统时自己要定制的),并测试成功

 

(!)先给出MySQL For Linux 源码下载地址,是xx.tar.zg格式的

http://www.filewatcher.com/m/mysql-5.0.45.tar.gz.24433261.0.0.html

 

(1)

      -------------预备工作----------

      1:假如下载的文件名为:mysql-5.0.45.tar.gz

      2:假如copy到 /home下

      3:groupadd mysql #添加mysql组

      4:useradd -g mysql mysql #添加一个mysql用户

      5:cd /home #进入到该目录

 

      -----------------------编译过程-----------------------

      6:tar zxvf mysql-5.0.45.tar.gz #解压后,在该目录下会出现一个同名的文件夹

      7:cd /home/mysql-5.0.45

      8:./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=latin1 #参数设置,可以先不明白,以后再修改配置

      9:make

      10:make install

      11:cp support-files/my-medium.cnf /etc/my.cnf #如果/etc/my.cnf已存在,则先备份,再删除

      12:vi /etc/my.cnf #将log-bin=mysql-bin注释掉

 

      ----------------------------安装并初步配置mysql--------------------------

      13:cd /usr/local/mysql

      14:bin/mysql_install_db --user=mysql #初始化mysql

      15:chown -R root . #改当前目录的捅有者为root。注意,最后有个 . 啊,表示当前目录

      16:chown -R mysql /usr/local/mysql/var #-R表示递归之下的所有目录

      17:chgrp -R mysql /usr/local/mysql #改变目录所属为mysql

      18:bin/mysqld_safe --user=mysql & #启动mysql

 

      -----------------------------------------更改mysql的root用户密码----------------------------

      19:bin/mysqladmin -uroot password 123456 #在mysql政党启动的情况下,更改root用户的登录密码

      20:bin/mysql -uroot -p #输入此命令后,会提示你输入root用户密码123456,

      21:show databases; #如果查出所有数据库,就恭喜你了

 

      ------------------------------------------------------把mysql加入到系统服务中-------------------------------------

      22:cp  /usr/local/mysql/share/mysql/mysql.server  /etc/init.d/mysqld      

             chkconfig --add  mysqld #加入到系统服务中,就可以通过service mysqld start|stop|status|restart等进行管理,很是方便,就不用再到/usr/local/mysql5.0.45/bin/启动mysql了

 

      ------------------------------------------------------------------配置mysql环境变量------------------------------------------------

      23:cd /root #回到你的个人主目录,我这里是用root登陆的

             cp .bashrc .bashrc.bak #备份一下吧

             vi .bashrc

             在最后加入:export PATH=/usr/local/mysql/bin:$PATH:.
             source ~/.bashrc #回到终端再输入此命令,以使刚修改的起作用,~代表用户主目录

             env #查看一下是否生效

      24:此是用来替换23步的一种方法

             cp /usr/local/mysql/bin/mysql   /usr/bin/mysql #把mysql常用的工具目录加入到系统变量目录中去,自己选择性加,这样做主要是可以直接运行该工具,而不需要切换到该目录下,类似于添加环境变量了

 

      -------------------------------------------------------------------------------让Linux开放3306端口-------------------------------------------

      25:service iptables stop

             vi /etc/sysconfig/iptables

             -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

             service iptables start

 

      -------------------------------------------------------------------------------给root用户开启mysql远程访问权限--------------------------------------------

      26:shutdown -hr now #重启

             ps -e | grep mysql #查看mysql是否已随开机启动,或者输入:service mysqld status

             mysql -uroot -p #进入mysql

             输入root用户的密码

             grant all on *.* to root@'%' identified by '123456';

             #grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

             flush privileges; #为了开发方便,可以让root用户具有远程访问的权限

             #最后,再附上一个很好用的mysql客户端,http://download.youkuaiyun.com/source/924456

 

(2)默认的mysql数据库目录是 /usr/local/mysql-5.0.45/var

        我们在安装时指定了安装目录为/usr/local/mysql-5.0.45,除了在这里安装所要的文件外,还有一部分用户常用的,可执行二进制文件被放到了/usr/bin中,其实,在/usr/local/mysql-5.0.45/bin下,全都有这些命令了,之所以要在/usr/bin中把那几个命令考过来,就是为了方便,相当于设置环境变量了,你可以echo $PATH一下,里面一定有/usr/bin这个值的。

         明白了安装过程,删除mysql也就不足为难了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值