mysql源码卸载_mysql源码安装于卸载

Build and Install MySQL

First, we create the group and user that "owns" MySQL. For security purposes,

we don't want MySQL running as root on the system. To be able to easily

identify MySQL processes in top or a ps list, we'll make a user

and group named mysql:

groupadd mysql

useradd -g mysql -c "MySQL Server" mysql

If you get any messages about the group or user already existing, that's fine.

The goal is just to make sure we have them on the system.

What the useradd command is doing is creating a user mysql

in the group mysql with the "name" of MySQL Server. This way when it's

showed in various user and process watching apps, you'll be able to tell what it is right

away.

Now we'll change to the "working" directory where the source code is,

change the file 'ownership' for the source tree (this prevents build issues in

reported in some cases where the packager's username was included on the source

and you aren't using the exact same name to compile with!) and start building.

The configure command has many options you can specify.

I have listed some fairly common ones; if you'd like to see others, do:

./configure --help | less

to see them all. Read the documentation

on the MySQL website for a more detailed explanation of each option.

cd /usr/local/src/mysql-4.1.22

chown -R root.root *

make clean

./configure \

--prefix=/usr/local/mysql \

--localstatedir=/usr/local/mysql/data \

--disable-maintainer-mode \

--with-mysqld-user=mysql \

--with-unix-socket-path=/tmp/mysql.sock \

--without-comment \

--without-debug \

--without-bench \

-enable-large-files \

--with-big-tables \

--with-charset=utf8 \

--with-extra-charsets=latin1,latin2,latin5,latin7,gb2312,gbk

--prefix参数是指定mysql的安装目录

--localstatedir是指定mysql数据的存放目录

--with-unix-socket-path是指定socket文件的存放路径

--with-mysqld-user是指定使用用户

可以用configure –help查看可以使用的所有参数

18-Jul-2005: If you are installing MySQL 4.0.x on Fedora Core 4, there is a

problem with LinuxThreads that prevents MySQL from compiling properly.

Installing on Fedora Core 3 works fine though. Thanks to Kevin Spencer for bringing

this to my attention. There is a workaround listed at

http://bugs.mysql.com/bug.php?id=9497.

Thanks to Collin Campbell for that link. Another solution can be

found at http://bugs.mysql.com/bug.php?id=2173.

Thanks to Kaloyan Raev for that one.

Now comes the long part, where the source code is actually compiled and then installed.

Plan to get some coffee or take a break while this step runs. It could be 10-15 minutes or

more, depending on your system's free memory, load average, etc.

make && make install

Configure MySQL

MySQL is "installed" but we have a few more steps until it's actually "done"

and ready to start. First run the script which actually sets up MySQL's

internal database (named, oddly enough, mysql).

./scripts/mysql_install_db

Then we want to set the proper ownership for the MySQL directories and data files, so that

only MySQL (and root) can do anything with them.

chown -R root:mysql /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql/data

Copy the default configuration file for the expected size of the database (small, medium, large, huge)

cp support-files/my-medium.cnf /etc/my.cnf

chown root:sys /etc/my.cnf

chmod 644 /etc/my.cnf

If you get an error message about the data directory not existing, etc., something went

wrong in the mysql_install_db step above. Go back and review that; make sure you didn't

get some sort of error message when you ran it, etc.

Now we have to tell the system where to find some of the dynamic libraries that

MySQL will need to run. We use dynamic libraries instead of static to keep the memory

usage of the MySQL program itself to a minimum.

echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf

ldconfig

Now create a startup script, which enables MySQL auto-start each

time your server is restarted.

cp ./support-files/mysql.server /etc/rc.d/init.d/mysql

chmod +x /etc/rc.d/init.d/mysql

/sbin/chkconfig --level 3 mysql on

Then set up symlinks for all the MySQL binaries, so they can be run

from anyplace without having to include/specify long paths, etc.

cd /usr/local/mysql/bin

for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done

MySQL Security Issues

First, we will assume that only applications on the same server

will be allowed to access the database (i.e., not a program running

on a physically separate server). So we'll tell MySQL not to even

listen on port 3306 for TCP connections like it does by default.

Edit /etc/my.cnf and uncomment the

skip-networking

line (delete the leading #).

For more security info, check this great tutorial

over at SecurityFocus.

Start MySQL

First, test the linked copy of the startup script in the normal server runlevel

start directory, to make sure the symlink was properly set up:

cd ~

/etc/rc.d/rc3.d/S90mysql start

If you ever want to manually start or stop the MySQL server, use these commands:

/etc/rc.d/init.d/mysql start

/etc/rc.d/init.d/mysql stop

Let's "test" the install to see what version of MySQL we're running now:

mysqladmin version

It should answer back with the version we've just installed...

Now we'll set a password for the MySQL root user (note that the

MySQL root user is not the same as the system

root user, and definitely should not have the same

password as the system root user!).

mysqladmin -u root password new-password

(obviously, insert your own password in the above command instead of the "new-password" string!)

You're done! MySQL is now installed and running on your server. It is highly recommended

that you read about MySQL security and lock down your server as much as possible. The MySQL

site has info at http://www.mysql.com/doc/en/Privilege_system.html.

Test MySQL

To run a quick test, use the command line program mysql:

mysql -u root -p

and enter your new root user password when prompted. You will then

see the MySQL prompt:

mysql>

First, while we're in here, we'll take care of another security

issue and delete the sample database test and all default

accounts except for the MySQL root user. Enter each of these lines

at the mysql> prompt:

drop database test;

use mysql;

delete from db;

delete from user where not (host="localhost" and user="root");

flush privileges;

As another security measure, I like to change the MySQL administrator account

name from root to something harder to guess. This will make it that

much harder for someone who gains shell access to your server to take control of

MySQL.

MAKE SURE YOU REMEMBER THIS NEW NAME, AND USE IT WHEREVER

YOU SEE "root" IN OTHER DIRECTIONS, WEBSITES, ETC.

ONCE YOU DO THIS STEP, THE USERNAME "root" WILL CEASE TO

EXIST IN YOUR MYSQL CONFIGURATION!

update user set user="sqladmin" where user="root";

flush privileges;

Now, on with the "standard" testing... First, create a new database:

create database foo;

You should see the result:

Query OK, 1 row affected (0.04 sec)

mysql>

Delete the database:

drop database foo;

You should see the result:

Query OK, 0 rows affected (0.06 sec)

mysql>

To exit from mysql enter \q:

\q

mysql源码安装删除方法:回到源码目录,如果可以运行make uninstall就可以卸载。如果没

有,就直接删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值