非源码的二进制包安装步骤:
//卸载老版本:
shell> rpm -qa | grep mysql , 如果存在系统安装的mysql,请先执行以下命令卸载:
如果是RHEL4的话:
shell> rpm -e mysql-4.1.20-2.RHEL4.1 --nodeps
shell> rpm -e mysqlclient10-3.23.58-4.RHEL4.1 --nodeps
如果是RHEL5.3的话:
shell> rpm -e mysql-5.0.45-7.el5 --nodeps
shell> rpm -e mysql-server-5.0.45-7.el5
删除原来的数据库目录。
-------------开始安装----------
shell> groupadd -g 501 mysql
shell> useradd -u 501 -g mysql -s /sbin/nologin mysql
shell> cd /usr/local
shell> gunzip < /root/abiao-disk/mysql/mysql-5.0.84-linux-i686-glibc23.tar.gz | tar xvf -
shell> ln -s mysql-5.0.84-linux-i686-glibc23 mysql
shell> cd mysql
-------------初始化mysql-------- -
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> cd support-files/
对于小型一般系统内存是128M:
shell> cp my-medium.cnf /etc/my.cnf
对于中型一般系统内存是512M:
shell> cp /my-large.cnf /etc/my.cnf
对于大型系统内存是1-2G:
shell> cp my-huge.cnf /etc/my.cnf
shell> vi /etc/my.cnf
在[mysqld]部分写入:
### abiao start
datadir=/bossdata/mysql/data # 设置数据库目录
set-variable=max_connections=15000
#log=general-log
#log-slow-queries=slow-log
default-character-set = utf8
### abiao end
同时把skip-federated 这行加上#
#skip-federated
同时把port= 3306这行改为:
port = 53306
#### 不用输入以下代码(有问题,有时会自动新建bossdata目录,有时不会,没有就手动新建)
shell> cd /bossdata
shell> mkdir mysql
shell> cd /usr/local/mysql
shell> mv data/ /bossdata/mysql/
#### end
注意:必须确保 mysql用户是对数据库data目录内的所有文件具有写的权限
--------------设置自启动:------------
要手动安装mysql.server,用名称mysql将它复制到/etc/init.d目录,然后将它变为可执行文件。只需要将位置更改为mysql.serveris所在并执行这些命令的相应目录:
shell> cd /usr/local/mysql/support-files/
shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql
安装脚本后,用来激活它以便在系统启动时运行所需要的命令取决于你的操作系统。在Linux中,你可以使用chkconfig:
shell> chkconfig --add mysql
安装脚本后就这个这样启动了:service mysql start
或者# bin/safe_mysqld --user=mysql &
登陆mysql:
/usr/local/mysql/bin/mysql -u root -p
//安装后如果不能启动mysql 那请关闭SELinux
vi /etc/selinux/config
把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启
-----------配置参数----------------------------------------------------------------
显示当前所有参数设置情况的Query:mysql> show processlist;
显示当前状态:mysql> show status;
退出客户端:mysql> exit
修改最大连接数:
vi /etc/my.cnf
主要修改点在 [mysqld] 配置块中:
指定允许的最大包尺寸:max_allowed_packet = 2M
指定最大连接数(默认为100):max_connections = 1000
指定服务器端字符集:character_set_server = utf8
强制指定连接使用的字符集:init_connect = 'set names utf8'
查看字符编码:
[root@localhost /]#show variables like 'character\_set\_%';
[root@localhost /]#show variables like 'collation_%';
显示配置参数:show variables;
查找 find / -iname '*.cnf' -print
查看字符集设置 mysql> show variables like 'collation_%';
设置初始密码:#>mysqladmin -u root password*****
修改密码:#>mysqladmin -u root -p password 新密码
---------------开启远程访问:-------------------------
1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>flush privileges;
2. 授权法
grant all on *.* to root@'%' identified by 'ipanel123'; 授权root账户可以从任意主机连接数据库,并且完全访问数据库。
grant all on news.* to boss@'%' identified by 'ipanel123'; 授权boss账户可以从任意主机连接数据库,并且完全访问news数据库。
flush privileges 重载授权表
根据自己的实际情况设置读取、删除.....权限
----------------新增mysql用户------------------------------
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先必须用root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
或者:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass1';
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user1'@'localhost'; (权限设置)
GRANT ALL ON *.* TO 'user1'@'localhost';
插入localhost记录方法:
INSERT INTO `user` VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)
--------------添加防火墙允许;-------------
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 3306 --state NEW -j ACCEPT
-----------------rpm包安装默认目录结构参考--------
安装路径: /usr/share/mysql
数据库目录:/var/lib/mysql/
配置文件: /usr/share/mysql(my-huge.cnf,mysql.server命令及配置文件)
相关命令: /usr/bin(mysqladmin、mysqldump等命令)
(*mysql的一种安全启动方式:/usr/bin/mysqld_safe? --user=root &)
启动脚本: /etc/rc.d/init.d/
源代码安装,一般默认安装在/usr/local/mysql目录下
源码安装重启mysql命令:
$mysql_dir/bin/mysqladmin -u root -p shutdown 有的版本直接输mysql启动
$mysql_dir/bin/safe_mysqld &
mysqladmin和mysqld_safe位于Mysql安装目录的bin目录下,很容易找到的。
编译说明:熟悉就行
./configure --prefix=/usr/local/mysql \ 指定安装目录
> --sysconfdir=/etc \ 配置文件的路径
> --localstatedir=/usr/local/mysql/data \ 数据库存放的路径
> --enable-assembler \ 使用一些字符函数的汇编版本
> --with-mysqld-ldflags=-all-static \ 以纯静态方式编译服务端
> --with-charset=GBK \ 添加GBK字符支持
> --with-extra-charsets=GBK \添加GBK字符集
> --with-extra-charsets=all \添加所有字符支持
------------------------------------------------------------------------------------
更换数据库服务器----可采用数据库备份程序:mysqldump
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名(直接输入数据库名字不用带路径) > 导出的文件名
mysqldump -uroot -p boss > boss_back.sql
2.导出一个表(包括表的数据)
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p boss users> boss_users.sql
3.导出一个数据库的所有结构
mysqldump -u wcnc -p -d --add-drop-table boss >/mysqlbackup/bossboss_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4、导出一个表的结构
mysqldump -u 用户名 -p -d --add-drop-table 数据库名 表名 >/mysqlbackup/boss_db.sql
5、导入数据库和表
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /mysqlbackup/boss_db.sql
2、更换数据库类型
可采用:MySQL GUI Tools
MySQL GUI Tools一个可视化界面的MySQL数据库管理控制台,提供了四个非常好用的图形化应用程序,方便数据库管理和数据查询。这些图形化管理工具可以大大提 高数据库管理、备份、迁移和查询效率,即使没有丰富的SQL语言基础的用户也可以应用自如。它们分别是:
MySQL Migration Toolkit:数据库迁移
MySQL Administrator:MySQL管理器
MySQL Query Browser:用于数据查询的图形化客户端
MySQL Workbench:DB Design工具(zsh)
下载地址:http://dev.mysql.com/downloads/gui-tools/5.0.html