在linux环境下安装mysql5.5.9(FOR SUSE LINUX)
项目即将启动,需要搭建数据库服务器,感谢项目组把这个光荣的任务交给了我。
下面简单的将mysql5.5.9的安装过程介绍一下。
一、
Mysql5.5.9的安装
我获得的软件包是mysql-5.5.9.tar.gz,经过庆哥的指导,我第一步是先给Linux增加用户和用户组:
linux-749p:~ #useradd –d /home/mysql –s /bin/sh mysql
linux-749p:~ #groupadd mysql
linux-749p:~ #useradd –g mysql mysql
第二步:就是把mysql-5.5.9.tar.gz拷贝到用户/home/mysql目录下,使用
tar –xvf mysql-5.5.9.tar.gz 命令解压包,之后在当前目录下会看到mysql-5.5.9目录。第三步:进入mysql-5.5.9目录,先后运行
./configure
make
make install
第四步:安装数据库
chown -R mysql:mysql /usr/local/share/mysql ;改变mysql目录的所有者。
/usr/local/share/mysql/scripts/mysql_install_db --user=mysql,以mysql用户安装数据库
到此处时,系统提示出错:
FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
经过庆哥指导与上网查阅资料了解到其出错原因是:找不到路径。
这个时候我们需要这样解决:
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data &
二、
启动数据库并登录
如果这一步顺利通过,那么下一步就可以启动数据库了:进入/usr/local/mysql/support-files 目录,然后启动数据库服务器,命令如下:./mysql.server start。mysql.server脚本调用mysqld_safe来启动服务器。
如果想查看mysql服务器是否启动,可用下面命令:netstat -ant|grep 3306
如果数据库已经正常启动系统会显示:tcp
0 0.0.0.0:3306
0.0.0.0:*
LISTEN
一般情况下我们还需要设置路径:
export PATH=/usr/local/mysql/bin/:$PATH
这个时候我们就可以用mysql命令登录到服务器了。首次登录可以直接用
linux-749p:~ # mysql
如果要指定用户登录需要这样做:mysql –u username –p 回车后输入密码再回车。例如我们用root用户登录:
linux-749p:~ #mysql -u root -p
Enter password:
刚安装后的root用户的密码还是空,我们直接回车就可以登录了。如果要修改用户的密码可以用命令:usr/bin/mysqladmin u用户名-p旧密码password 新密码;我们在这里把root 用户的密码更改为root可以这样:
# /usr/bin/mysqladmin -u root password root(因为开始时root没有密码,所以-p旧密码一项就可以省略了)
三、
启动与停止数据库
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
/etc/init.d/mysql.server start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
中
[root@test1 local]#/sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]#/sbin/chkconfig– add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]#/sbin/chkconfig– del mysql
四、
MySQL的常用操作
注意:MySQL中每个命令后都要以分号;结尾。
1、
显示数据库:mysql> show databases;
2、
显示数据库中的表:
mysql> use mysql;
mysql> show tables;
3、
显示数据表的结构:
describe 表名;
4、
显示表中的记录:
select * from 表名;
5、
建库:
create database 库名;
例如:
创建一个名字位aaa的库
mysql> create database aaa;
6、
建表:
use 库名;
create table 表名(字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny (出身年月)四个字段
use aaa;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;
7、
增加记录:
例如:增加几条相关纪录。
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
可用select命令来验证结果。
mysql> select * from name;
8、
修改纪录:
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';
9、
删除纪录:
例如:删除张三的纪录。
mysql> delete from name where xm='张三';
10、
删库和删表:
drop database 库名;
drop table 表名;
11、
增加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";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql -u user_1 -p-h 192.168.113.50(-h后跟的是要登录主机的ip地址)