当前位置首页 > Fedora知识

在Fedora10上安装MySQL5.0.18,告捷!

阅读次数:239 次  来源:admin  发布时间:

又一次安MySQL了,为什么又呢,因为前面成功那次算配置,即配置Fedora10自带的MySQL,这个还不算自己安装的,所以有必要再安装一次,以后还装也有可能,换操作系统,换MySql版本都可能这样做。

前几次安装失败的精力总算没白花,这会安装顺利多了。当然,这篇网文的帮助也是不小的:http://www.hackbase.com/tech/2011-10-28/65455.html

我安装的mysql-5.0.18.tar.gz可以从这里下载:http://pan.baidu.com/share/link?shareid=3134485043&uk=34256769

正文开始了,首先解压。

[root@Dawalixi hy]# tar xvzf mysql-5.0.18.tar.gz

...

mysql-5.0.18/server-tools/instance-manager/buffer.h

mysql-5.0.18/server-tools/instance-manager/buffer.cc

mysql-5.0.18/server-tools/instance-manager/parse.cc

mysql-5.0.18/server-tools/instance-manager/parse.h

mysql-5.0.18/server-tools/instance-manager/guardian.cc

mysql-5.0.18/server-tools/instance-manager/guardian.h

mysql-5.0.18/server-tools/instance-manager/parse_output.cc

mysql-5.0.18/server-tools/instance-manager/parse_output.h

mysql-5.0.18/server-tools/instance-manager/mysql_manager_error.h

mysql-5.0.18/server-tools/instance-manager/portability.h

看看解压完的目录

[root@Dawalixi hy]# l

4.sh Desktop Download mysql-5.0.18 Pictures Template

ackup Documents Music mysql-5.0.18.tar.gz Public Video

[root@Dawalixi hy]#

进行设置,utf8一项很重要,因为这个数据库将来要容纳中文

[root@Dawalixi mysql-5.0.18]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all

...

config.status: creating read/Makefile

config.status: creating rem/Makefile

config.status: creating row/Makefile

config.status: creating srv/Makefile

config.status: creating sync/Makefile

config.status: creating thr/Makefile

config.status: creating trx/Makefile

config.status: creating usr/Makefile

config.status: creating ib_config.h

config.status: ib_config.h is unchanged

config.status: executing depfiles command

MySQL has a Web site at http://www.mysql.com/ which carries details on the

latest release, upcoming features, and other information to make your

work or play with MySQL more productive. There you can also find

information about mailing lists for MySQL discussion.

Remember to check the platform specific part of the reference manual for

hints about installing MySQL on your platform. Also have a look at the

files in the Docs directory.

Thank you for choosing MySQL!

开始编译

[root@Dawalixi mysql-5.0.18]# make

...

".deps/parse_output.Tpo"; exit 1; fi

/bin/sh ../../libtool --preserve-dup-deps --mode=link g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o mysqlmanager command.o mysqlmanager.o manager.o log.o thread_registry.o listener.o protocol.o mysql_connection.o user_map.o messages.o commands.o instance.o instance_map.o instance_options.o buffer.o parse.o guardian.o parse_output.o liboptions.a libnet.a ../../vio/libvio.a ../../mysys/libmysys.a ../../strings/libmystrings.a ../../dbug/libdbug.a -lz -lpthread -lcrypt -lnsl -lm -lpthread

mkdir .li

g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o mysqlmanager command.o mysqlmanager.o manager.o log.o thread_registry.o listener.o protocol.o mysql_connection.o user_map.o messages.o commands.o instance.o instance_map.o instance_options.o buffer.o parse.o guardian.o parse_output.o liboptions.a libnet.a ../../vio/libvio.a ../../mysys/libmysys.a ../../strings/libmystrings.a ../../dbug/libdbug.a -lz -lpthread -lcrypt -lnsl -lm -lpthread

make[3]: Leaving directory `/home/hy/mysql-5.0.18/server-tools/instance-manager'

make[3]: Entering directory `/home/hy/mysql-5.0.18/server-tools'

make[3]: Nothing to be done for `all-am'.

make[3]: Leaving directory `/home/hy/mysql-5.0.18/server-tools'

make[2]: Leaving directory `/home/hy/mysql-5.0.18/server-tools'

make[1]: Leaving directory `/home/hy/mysql-5.0.18'

安装了!

[root@Dawalixi mysql-5.0.18]# make install

...

make[2]: Leaving directory `/home/hy/mysql-5.0.18/support-files'

Making install in server-tool

make[2]: Entering directory `/home/hy/mysql-5.0.18/server-tools'

Making install in instance-manager

make[3]: Entering directory `/home/hy/mysql-5.0.18/server-tools/instance-manager'

make[4]: Entering directory `/home/hy/mysql-5.0.18/server-tools/instance-manager'

test -z "/usr/local/mysql/libexec" || mkdir -p -- . "/usr/local/mysql/libexec"

/bin/sh ../../libtool --preserve-dup-deps --mode=install /usr/bin/install -c 'mysqlmanager' '/usr/local/mysql/libexec/mysqlmanager'

/usr/bin/install -c mysqlmanager /usr/local/mysql/libexec/mysqlmanager

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/home/hy/mysql-5.0.18/server-tools/instance-manager'

make[3]: Leaving directory `/home/hy/mysql-5.0.18/server-tools/instance-manager'

make[3]: Entering directory `/home/hy/mysql-5.0.18/server-tools'

make[4]: Entering directory `/home/hy/mysql-5.0.18/server-tools'

make[4]: Nothing to be done for `install-exec-am'.

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/home/hy/mysql-5.0.18/server-tools'

make[3]: Leaving directory `/home/hy/mysql-5.0.18/server-tools'

make[2]: Leaving directory `/home/hy/mysql-5.0.18/server-tools'

make[1]: Leaving directory `/home/hy/mysql-5.0.18'

增加mysql组和mysql用户

[root@Dawalixi mysql-5.0.18]# groupadd mysql

[root@Dawalixi mysql-5.0.18]# useradd -g mysql mysql

进入mysql的安装目录

[root@Dawalixi mysql-5.0.18]# cd /usr/local/mysql

[root@Dawalixi mysql]# l

in include info lib libexec man mysql-test share sql-bench

进入share目录是想得到my.cnf

[root@Dawalixi mysql]# cd share/

[root@Dawalixi share]# l

mysql

[root@Dawalixi share]# cd mysql/

[root@Dawalixi mysql]# l

inary-configure italian ndb-config-2-node.ini

charsets japanese norwegia

czech korean norwegian-ny

danish mi_test_all polish

dutch mi_test_all.res portuguese

english my-huge.cnf romania

errmsg.txt my-innodb-heavy-4G.cnf russia

estonian my-large.cnf serbia

fill_help_tables.sql my-medium.cnf slovak

french my-small.cnf spanish

german mysql_fix_privilege_tables.sql swedish

greek mysql-log-rotate ukrainia

hungarian mysql.server

[root@Dawalixi mysql]# vi my-medium.cnf #这一步就是看看,没改什么

拷贝mysql配置文件,2G以下内存选择my.medium.cnf,如果有原来的选择覆盖。

[root@Dawalixi mysql]# cp my-medium.cnf /etc/my.cnf

cp: overwrite `/etc/my.cnf'? y

下面进行数据表的安装

[root@Dawalixi mysql]# cd /usr/local/mysql/bi

[root@Dawalixi bin]# l

comp_err mysql_config mysql_setpermissio

innochecksum mysql_convert_table_format mysqlshow

msql2mysql mysql_create_system_tables mysql_tableinfo

myisamchk mysqld_multi mysqltest

myisam_ftdump mysqld_safe mysqltestmanagerc

myisamlog mysqldump mysqltestmanager-pwge

myisampack mysqldumpslow mysql_tzinfo_to_sql

my_print_defaults mysql_explain_log mysql_waitpid

mysql mysql_find_rows mysql_za

mysqlaccess mysql_fix_extensions perror

mysqladmin mysql_fix_privilege_tables replace

mysqlbinlog mysqlhotcopy resolvei

mysqlbug mysqlimport resolve_stack_dum

mysqlcheck mysql_install_d

mysql_client_test mysql_secure_installatio

[root@Dawalixi bin]# ./mysql_install_db --user=mysql

Installing all prepared table

Fill help table

To start mysqld at boot time you have to copy support-files/mysql.server

to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'

/usr/local/mysql/bin/mysqladmin -u root -h Dawalixi password 'new-password'

See the manual for more instructions.

You can start the MySQL daemon with:

cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &am

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:

cd sql-bench ; perl run-all-test

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at https://order.mysql.com

下面要把mysql添加到系统服务中

[root@Dawalixi bin]# pwd

/usr/local/mysql/bi

[root@Dawalixi bin]# cd /usr/local/mysql/share/mysql/

[root@Dawalixi mysql]# l

inary-configure italian ndb-config-2-node.ini

charsets japanese norwegia

czech korean norwegian-ny

danish mi_test_all polish

dutch mi_test_all.res portuguese

english my-huge.cnf romania

errmsg.txt my-innodb-heavy-4G.cnf russia

estonian my-large.cnf serbia

fill_help_tables.sql my-medium.cnf slovak

french my-small.cnf spanish

german mysql_fix_privilege_tables.sql swedish

greek mysql-log-rotate ukrainia

hungarian mysql.server

[root@Dawalixi mysql]# cp mysql.server /etc/init.d/mysqld

现在可以使用系统服务了,不做这一步下一步设置密码也跑不起来。

[root@Dawalixi bin]# service mysqld start

Starting MySQL [ OK ]

下面给root用户设置密码

[root@Dawalixi mysql]# cd /usr/local/mysql/bi

[root@Dawalixi bin]# ./mysqladmin -u root password '123456'

进行数据库授权,需要提醒的是,只要授权一次,root的密码必须重设一次,切记。

[root@Dawalixi bin]# mysql -u root -

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 10

Server version: 5.0.18-log

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or it

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> grant all privileges on *.* to root@'%' identified by "root"

Query OK, 0 rows affected (0.01 sec)

mysql> flush privilege

Query OK, 0 rows affected (0.00 sec)

mysql> grant select,update,insert,delete,create on *.* to root@192.168.0.100 identified by "root"; #注意这里比上回增加了create,这是为了建表用的

Query OK, 0 rows affected (0.01 sec)

mysql> flush privilege

Query OK, 0 rows affected (0.01 sec)

mysql> quit

Bye

下面开始重设密码

[root@Dawalixi bin]# mysql -u root -

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 11

Server version: 5.0.18-log

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or it

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql

Database changed

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

Query OK, 2 rows affected (0.00 sec)

Rows matched: 4 Changed: 2 Warnings: 0

mysql> flush privilege

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Bye

[root@Dawalixi bin]#

打开防火墙对3306端口的限制

[root@Dawalixi bin]# vi /etc/sysconfig/iptable

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #这一行是我新加的

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

重启防火墙

[root@Dawalixi bin]# service iptables restart

iptables: Flushing firewall rules: [ OK ]

iptables: Setting chains to policy ACCEPT: filter [ OK ]

iptables: Unloading modules: [ OK ]

iptables: Applying firewall rules: [ OK ]

[root@Dawalixi bin]#

此时端口应该对3306开放了

[root@Dawalixi bin]# netstat -tlnpu

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 19227/mysqld

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1477/rpcbind

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1836/sshd

tcp 0 0 0.0.0.0:57846 0.0.0.0:* LISTEN 1490/rpc.statd

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1931/cupsd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1859/sendmail: acce

tcp 0 0 :::111 :::* LISTEN 1477/rpcbind

tcp 0 0 :::22 :::* LISTEN 1836/sshd

udp 0 0 0.0.0.0:804 0.0.0.0:* 1477/rpcbind

udp 0 0 0.0.0.0:45617 0.0.0.0:* 1490/rpc.statd

udp 0 0 0.0.0.0:818 0.0.0.0:* 1490/rpc.statd

udp 0 0 0.0.0.0:68

现在可以通过数据库客户端对MySql数据库进行连接了。

我想做的是增加一张表,然后加入两条带中文的记录。

下面是加表。

插入记录

查询成功

接下来从服务器上查看下客户端加入进来的数据

[root@Dawalixi bin]# mysql -u root -

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 35

Server version: 5.0.18-log

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or it

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql

Database changed

mysql> select * from testt

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

ame | password

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

达瓦里希 | 123

前进 | 456

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

2 rows in set (0.00 sec)

mysql> quit

Bye

[root@Dawalixi bin]#

很好,表和中文文字都加入进来了,说明之前对MySQL的设置是正确的。

上一篇:centos7防火墙设置
下一篇:ubuntu设置root用户密码并实现root用户登录