1 $Id: UPGRADING,v 1.17 2005/09/04 03:34:00 cinergi Exp $
3 *** In all cases, you should at *least* restart any daemons that look up
4 *** users, such as ssh, nscd, cron, etc. It's best if you simply reboot
5 *** unless you know the complete list of daemons to restart.
6 *** On Linux, try (as root) "lsof /lib/libnss_mysql.so"
9 * This is a maintenance release. No changes are needed on your part.
12 * No changes are *required* but the following options have been removed
13 from libnss-mysql.cfg in favor of using "my.cnf" options: timeout,
14 compress, initcmd. Specify them in either the [client] section or a
15 new [libnss-mysql] section in my.cnf
18 * No changes are *required* but the [section] names in the config files
19 are now meaningless - remove them to avoid additional parsing overhead
21 * You may want to take advantage of line continuation in the configuration
22 files. See the samples for examples.
25 * This is a maintenance release. No changes are needed on your part.
28 * This is a maintenance release. No changes are needed on your part.
29 If compiling from source, you should note that the new 'configure'
30 option '--with-mysql=DIR' which replaces '--with-mysql-inc' and
34 * If you're running anything other than Linux, you *MUST* update your
35 /etc/libnss-mysql.cfg file! Each operating system now has their own
36 independant password fields. You'll need to add some columns to your
37 queries; Solaris adds 'age' and 'comment'. This is the first version
38 that supports FreeBSD so there's no upgrade concerns here. See the
39 sample configs for details on where to put the new columns.
42 * IMPORTANT: The filenames for the configuration files has changed.
43 There's also been a slight change inside the configuration files.
44 It's MANDATORY that you follow these upgrade procedures.
46 * /etc/nss_mysql.cfg is now /etc/libnss-mysql.cfg
48 * /etc/nss_mysql_root.cfg is now /etc/libnss-mysql-root.cfg
50 * Only one server can be defined in your configuration files.
51 Delete any [secondary] sections and rename your [primary] section
52 to [server]. The [global] section no longer has any meaning. Remove
53 it and any entries (IE 'retry') it has. See the sample configuration
54 files for more information
56 * A "make install" and RPM upgrades will NOT rename your existing
57 configuration files. They will install new default ones under
58 their new names. Overwrite them with your old files.
61 * The /etc/my.cnf section, [libnss_mysql], is no longer supported.
62 Use the new options in /etc/nss_mysql.cfg instead (see below).
64 * The "port" and "socket" options are no longer required options
65 in /etc/nss_mysql.cfg. Remove them from your config to use your
66 MySQL client defaults.
68 * New options in /etc/nss_mysql.cfg (that go in the [primary] and/or
69 [secondary] sections):
70 Option Values Default Description
71 -----------------------------------------------------------------
72 ssl 0|1 0 Use SSL (MySQL 4.x only)?
73 timeout 0+ 3 Connect timeout in seconds
74 compress 0|1 0 Use MySQL compressed protocol?
75 initcmd string "" Execute this statement at connect time
78 This is a maintenance release. No changes are needed on your part.
81 No changes are needed on your part. Simply install the new version!
84 No changes are needed on your part. Simply install the new version!
87 NOTE: This included a lot of redesign/rewriting. It's very possible
88 I broke something that used to work. Please report bugs to me.
90 Debugging support has been removed - for now. The config option
91 'debug_flags' is now ignored.
92 The syslog config options, 'facility' and 'priority' have been removed.
93 Specify the facility at build time using the --with-log-facility
94 option to the 'configure' program.
95 Not that it really eats that many CPU cycles, but I recommend
96 deleting those 3 configuration options from your config file.
98 Since this version supports initgroups, the design of the group
99 database needs to be altered. You *must* alter your database/data
100 in order for groups to work. If you're not using groups, then you can
102 * First, alter your database such that you have a way to associate
103 gids with a username. Check the sample database for the 'grouplist'
104 table to see what I mean.
105 * Second, populate this new table with the appropriate data.
106 * Third, REMOVE the fourth column in your SELECT statements for the
107 getgr* configuration entries (getgrnam, getgrgid, & getgrent)
108 * Fourth, add two new configuration entries for 'memsbygid' and
109 'gidsbymem'. See the new sample configuration file for examples.
110 * Fifth, when you're comfortable you've converted the data, you can
111 remove the fourth column mentioned above from your database - it's no
113 Two select calls will be made when retrieving group information - one
114 for the getgr* call, and another to fetch the list of usernames that
115 are members of that group (using the memsbygid call).
116 The gidsbymem call is used for initgroups support. This allows the
117 system to find out all the groups a user is a member of *much* more
118 efficiently. In fact, some programs ONLY do it this way, and weren't
119 seeing the supplemental groups users were in - until now.
122 First, you should note that the code currently supports only TWO
123 servers. That's easily changed, and I'll probably up it to a
124 default of THREE later, but 0.4 is released with support for TWO.
125 That said, the [server] section in BOTH of your config files must
126 be changed to either [primary] or [secondary] as appropriate. See
127 the sample config files if it's not clear.
130 Simply change any '%d' you have in your configs to '%u'