原文出自:http://www.huxun360.com/view_blog/35
数据库Mysql安装
1.首先下载安装包并使用命令tar解压:
tar –zxvf mysql-5.1.30.tar.gz
使用cd命令进入解压后的目录
./configure 之前要make clean
注释:在执行“make clean” 失败时,提示错误checking for termcap functions library... configure: error: Nocurses/termcap library found 。
则在执行./configure命令,执行命令代码为:
./configure--prefix=/usr/share/mysql/ -with-charset=utf8 -with-extra-charsets=all –with-named-curses-libs=/usr/lib/libncursesw.so.5(最后一段命令可以省略)
出现错误:No curses/termcap library found 或者seethe install manual chapter in the reference
yum –y installgcc yum install ncurses-devel
2.配置和编译安装环境
2.1配置安装环境
命令格式:./configure –prefix=安装路径
--prefix=/usr/local/mysql/ 安装到此目录下
我的操作: ./configure --prefix=/usr/local/mysql/
-with-charset=gbk -with-extra-charsets=all 加入解决中文乱码
./configure --prefix=/usr/share/mysql/-with-charset=gbk -with-extra-charsets=all
参数: --prefix= 指软件安装的路径
2.2编译安装环境
命令格式:make
执行make命令时出现错误:exec g++ not found
安装gcc -c++
重新执行上一命令(config)
等待……….时间太长了
2.3安装
命令格式:makeinstall
3.创建MySQL相关用户
使用命令groupadd创建用户组
命令格式:groupaddmysql
使用命令useradd创建用户并分配到mysql组中
命令格式:useradd –g mysql mysql
使用命令passwd修改用户密码
命令格式:passwdmysql
我的密码: password
4.配置MySQL数据库环境
4.1.使用命令cp拷贝示例配置文件到系统环境
命令格式:此步骤在解压的目录
cp ./support-files/my-medium.cnf /etc/my.cnf
拷贝目标文件my.cnf必须要这样命名,该名称为数据库默认配置文件。
4.2.使用命令VI编辑配置文件
命令格式: vi /etc/my.cnf
查找 /skip /后面为查找内容
查找skip-federated选项是否打开,把它注释掉。
并保存退出
5.初始化系统数据库
5.1.使用命令cd进入安装目录也就是上面的/user/local/mysql
命令格式:cd/$MYSQL_HOME
如果使用参数—prefix则进入参数指定路径,否则进入/usr/local默认路径查找
5.2.使用命令chown修改安装目录权限
命令格式:chown –Rmysql:root . .代表在当前目录及其下面的内容
5.3.初始化系统数据库
命令格式:bin/mysql_install_db--user=mysql
显示一些帮助信息
6.修改数据库安全性
6.1修改数据库文件夹权限
命令格式:chown –R mysql var
var为数据库默认的数据文件夹,文件夹名称以实际情况而定
6.2启动服务并修改root用户密码命令格式:
bin/mysqld_safe –user=mysql &
bin/mysqladmin –u root password ‘’
下面是一些修改命令,也可不看
bin/mysqladmin –u root –h $hostname password ‘’
PLEASE REMEMBER TO SET A PASSWORD FOR THEMySQL root USER !
To do so, start the server, then issue thefollowing commands:
修改root的登入密码
/usr/local/mysql/bin/mysqladmin -u rootpassword 'new-password‘
修改test密码
/usr/local/mysql/bin/mysqladmin -u root -htest password 'new-password'
You can start the MySQL daemon with:
cd /usr/local/mysql ;/usr/local/mysql/bin/mysqld_safe &
7.测试数据库
命令格式:bin/mysql–u root –p
密码为空
Mysql语句:show databases;
退出 ctrl+c bye 或者exit 依环境的不同而定
下面的一直没有用到
使外部客户端连接到MySQL,先登录到MySQL服务器端:
格式:grant 权限 on 数据库对象 to 用户
mysql>grant all on *.* to ‘root’@’%’identified by ‘root密码’
1.拷贝数据库启动脚本到安装目录
命令格式:
cp /MySQL-version-OS/support-files/mysql.server /$MySQL_HOME/bin/mysql.server
我的操作:
cp /root/download/mysql-5.1.30/support-files/mysql.server /usr/local/mysql/bin/mysql.server
2.修改执行权限
命令格式:chmod 755/$MySQL_HOME/bin/mysql.server
命令解释:chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。
一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限。
权限分为三种:读(r=4),写(w=2),执行 (x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
1.文件所有者可读可写可执行
2.与文件所有者同属一个用户组的其他用户可读可执行
3.其它用户组可读可执行
chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。
例如:root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。
但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。
这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。
3.使用方法
mysql.server start|stop|restart
/etc/profile echo $PATH
4.修改环境变量让mysql.server在何地都能执行
vi /etc/profile
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export MYSQL_HOME PATH 注意这里export 必须为小写
source /etc/profile 重启配好环境变量就可以再任意位置找到
命令解释:Source命令执行完后,计算机不用重启就可加载配置。重启计算机命令为reboot
例如:mysql.serverstart 启动mysql在任何位置
我回到root目录下测试了一下
环境变量的配置: 在任何一个目录下面都能进去
netstat -anp |more 端口号:3306 mysql的端口号
查看端口号命令:showvariables like ‘port’
到此安装完毕了
在任意位置就能使用mysql -u root -p 进行登入mysql了。
数据库字符修改:
Mysql>Alter database test character set ‘UTF-8’
库文件导入:
Mysql>source sql文件路径
系统字符集修改:/etc/sysconfig/i18n 文件里面的内容
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16
解决远程连接mysql错误1130代码的方法
今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host 192.168.2.159 is not allowedto connect to this MySQL server
猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
============================
一、通过MySQL-Front或mysqladministrator连接mysql的时候发生的这个错误
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 mysql 数据库里的 user表里的 host项
把localhost改称%
首先按下面的步骤登录Mysql服务器
登录mysql需要切换到dos下的mysql的bin目录,进行如下操作:
语法格式:mysql -h host_name -u user_name -ppassword (本机的话-h 和host_name可省)
例如:
C:\program files\mysql\mysql server 5.0\bin>mysql -u root -p
Enter password:******
先输入用户名和密码登陆要求(-p),回车后等出现"Enterpassword:",再输入密码回车,这样就可以
成功登陆mysql,否则将会登陆失败。
登陆成功后会显示如下信息及Mysql标识符:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.1-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
标识符"mysql>",当你看到 ......